Filtrera och blanda många RSS-flöden?

Här diskuteras programmering och utveckling
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:
ubot skrev:Jag har testat skriptet nu ett par gånger och det verkar som om bara Lifehackers RSS-flöde följer med, är det något som är fel eller är det filtret som filtrerat bort det andra flödet? Det var ju två i testet.
Båda ska vara med... om det nu inte är så att den andra rss-länken helt enkelt inte innehåller några <item>-block som handlar om "linux".
Nja, jag testade med windows istället som jag vet finns med i Dowload Squads RSS-flöde. Men jag ser fortfarande bara Lifehackers länkar i rss-xml-filen.

Edit:

Jag får undersöka saken närmare, verkar svårt att få med båda flödena, men jag är inte säker. Hur gör man annars för att filtrera på dom olika vis som du drog upp i Linux-exemplet?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

ubot skrev:Nja, jag testade med windows istället som jag vet finns med i Dowload Squads RSS-flöde. Men jag ser fortfarande bara Lifehackers länkar i rss-xml-filen.
För mig funkar det iaf. Jag filtrerar på "linux" och får bland annat:

lifehacker:
Battle of the Tricked-Out Computer Desktops [Lifehacker Faceoff]

feedburner:
Lee's Favorite Apps: Teamviewer
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:
ubot skrev:Nja, jag testade med windows istället som jag vet finns med i Dowload Squads RSS-flöde. Men jag ser fortfarande bara Lifehackers länkar i rss-xml-filen.
För mig funkar det iaf. Jag filtrerar på "linux" och får bland annat:

lifehacker:
Battle of the Tricked-Out Computer Desktops [Lifehacker Faceoff]

feedburner:
Lee's Favorite Apps: Teamviewer
Du har rätt, Download Squads RSS-flöde finns med. Men hur filtrerar jag på alla sätt som du tog upp tidigare, hur ska jag ändra koden?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

ubot skrev:Du har rätt, Download Squads RSS-flöde finns med.
Eftersom jag i koden plockar rss-huvudet från den första rss-länken så ser det ut som att det bara är lifehacker, men alla finns faktiskt med. Vill du vara riktigt fin av dig så ska du ju skapa ett helt eget rss-huvud istället.
ubot skrev:Men hur filtrerar jag på alla sätt som du tog upp tidigare, hur ska jag ändra koden?
Jag fixar ihop ett exempel om en stund.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Hm, det blir lite svårt att filtrera posterna. Det är trots allt så att ett blogginlägg innehåller lite väl lite information för att passa in i filtret. Är det så att man kan filtrera på dolda taggar och kategorier på något vis?
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:
ubot skrev:Du har rätt, Download Squads RSS-flöde finns med.
Eftersom jag i koden plockar rss-huvudet från den första rss-länken så ser det ut som att det bara är lifehacker, men alla finns faktiskt med. Vill du vara riktigt fin av dig så ska du ju skapa ett helt eget rss-huvud istället.
ubot skrev:Men hur filtrerar jag på alla sätt som du tog upp tidigare, hur ska jag ändra koden?
Jag fixar ihop ett exempel om en stund.
Ok, jag är mycket tacksam!
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

ubot skrev:Hm, det blir lite svårt att filtrera posterna. Det är trots allt så att ett blogginlägg innehåller lite väl lite information för att passa in i filtret. Är det så att man kan filtrera på dolda taggar och kategorier på något vis?
Dålda taggar? Kategorier? Som det är nu så filtrerar den på allting i <item>-blocket.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Vad gäller egentligen för upphovsrätt när det kommer till RSS? Får man publicera ett utdrag på en site med länk till riktiga sitens post eller blir det bråk tro?
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:
ubot skrev:Hm, det blir lite svårt att filtrera posterna. Det är trots allt så att ett blogginlägg innehåller lite väl lite information för att passa in i filtret. Är det så att man kan filtrera på dolda taggar och kategorier på något vis?
Dålda taggar? Kategorier? Som det är nu så filtrerar den på allting i <item>-blocket.
Hur ser man egentligen vilka taggar en bloggpost har? Det syns inte i Lifehackers RSS eller på sidan, men dom taggar väl alla inlägg?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

ubot skrev:Hur ser man egentligen vilka taggar en bloggpost har? Det syns inte i Lifehackers RSS eller på sidan, men dom taggar väl alla inlägg?
Ett <item>-block från lifehackers rss ser ut så här:

Kod: Markera allt

<item>
			<title><![CDATA[ Nodobe Viewer Brings Lightweight, Inline PDF Viewing to Firefox [Featured Firefox Extension] ]]></title>
			<description><p><img src="http://cache.gawker.com/assets/images/lifehacker/2008/10/nodobe-reader.png" align="left" hspace="4" vspace="2" width="494" height="309" style="display:block;float:none;" />Firefox only (Windows/Mac/Linux): Firefox extension Nodobe Viewer is an inline document viewer for Firefox intended to replace the bloat of plugins like the dreaded Adobe Reader. Nodobe Viewer supports <a href="http://vuzit.com/help/general#document_types">38 different file types</a>, including PDF, Microsoft Office documents, and OpenOffice documents. When you're about to download one of these document types but would prefer just a quick inline view, right-click the link and select Open Link in New Tab with Nodobe. The tool works in conjunction with web application Vuzit (pronounced "views-it"), which handles the document conversion and displays the results in your browser.</p> <p>The downside: You actually have to sign up for a free account with Vuzit to use Nodobe Reader. If you're willing to take that small step, Nodobe is a great little alternative for quickly viewing a document when you either don't have the right application installed or you don't want to fire up bloatware to view it. This extension would also pair well with <a href="http://lifehacker.com/software/web-surfing/download-of-the-day-link-alert-firefox-216043.php">previously mentioned Link Alert</a>.</p> <div class="related"><a href="https://addons.mozilla.org/en-US/firefox/addon/8910">Nodobe View</a> [Firefox Add-ons]</div> <br style="clear: both;"/>

  <img alt="" style="border: 0; height:1px; width:1px;" border="0" src="http://www.pheedo.com/img.phdo?i=043125c5f0983cbff6d7bba2b20e2d6b" height="1" width="1"/>
<img src="http://www.pheedo.com/feeds/tracker.php?i=043125c5f0983cbff6d7bba2b20e2d6b" style="display: none;" border="0" height="1" width="1" alt=""/>
<p><a href="http://feeds.gawker.com/~a/lifehacker/full?a=yLNl1f"><img src="http://feeds.gawker.com/~a/lifehacker/full?i=yLNl1f" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.gawker.com/~f/lifehacker/full?a=MU5iM"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=MU5iM" border="0"></img></a> <a href="http://feeds.gawker.com/~f/lifehacker/full?a=CekKM"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=CekKM" border="0"></img></a> <a href="http://feeds.gawker.com/~f/lifehacker/full?a=jFEMm"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=jFEMm" border="0"></img></a> <a href="http://feeds.gawker.com/~f/lifehacker/full?a=hgb3m"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=hgb3m" border="0"></img></a>

</div><img src="http://feeds.gawker.com/~r/lifehacker/full/~4/416131512" height="1" width="1"/></description>
			<link>http://feeds.gawker.com/~r/lifehacker/full/~3/416131512/nodobe-viewer-brings-lightweight-inline-pdf-viewing-to-firefox</link>
			<guid isPermaLink="false"><![CDATA[http://lifehacker.com/5061148/nodobe-viewer-brings-lightweight-inline-pdf-viewing-to-firefox]]></guid>
			<category><![CDATA[ Featured Firefox Extension ]]></category>
			<category><![CDATA[ Downloads ]]></category>
			<category><![CDATA[ Firefox ]]></category>
			<category><![CDATA[ Firefox Extensions ]]></category>
			<category><![CDATA[ Linux ]]></category>

			<category><![CDATA[ Mac OS X ]]></category>
			<category><![CDATA[ Microsoft Office ]]></category>
			<category><![CDATA[ Microsoft Word ]]></category>
			<category><![CDATA[ PDFs ]]></category>
			<category><![CDATA[ Windows ]]></category>
			<pubDate>Thu, 09 Oct 2008 14:00:00 PDT</pubDate>
			<dc:creator>Adam Pash</dc:creator>
			<wfw:commentRss>http://lifehacker.com/index.php?op=postcommentfeed&postId=5061148&view=rss&microfeed=true</wfw:commentRss>

		<feedburner:origLink>http://lifehacker.com/5061148/nodobe-viewer-brings-lightweight-inline-pdf-viewing-to-firefox</feedburner:origLink></item>
Som vi gör nu så filtreras det mot precis allting som finns i <item>-blocket.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:
ubot skrev:Hur ser man egentligen vilka taggar en bloggpost har? Det syns inte i Lifehackers RSS eller på sidan, men dom taggar väl alla inlägg?
Ett <item>-block från lifehackers rss ser ut så här:

Kod: Markera allt

<item>
			<title><![CDATA[ Nodobe Viewer Brings Lightweight, Inline PDF Viewing to Firefox [Featured Firefox Extension] ]]></title>
			<description><p><img src="http://cache.gawker.com/assets/images/lifehacker/2008/10/nodobe-reader.png" align="left" hspace="4" vspace="2" width="494" height="309" style="display:block;float:none;" />Firefox only (Windows/Mac/Linux): Firefox extension Nodobe Viewer is an inline document viewer for Firefox intended to replace the bloat of plugins like the dreaded Adobe Reader. Nodobe Viewer supports <a href="http://vuzit.com/help/general#document_types">38 different file types</a>, including PDF, Microsoft Office documents, and OpenOffice documents. When you're about to download one of these document types but would prefer just a quick inline view, right-click the link and select Open Link in New Tab with Nodobe. The tool works in conjunction with web application Vuzit (pronounced "views-it"), which handles the document conversion and displays the results in your browser.</p> <p>The downside: You actually have to sign up for a free account with Vuzit to use Nodobe Reader. If you're willing to take that small step, Nodobe is a great little alternative for quickly viewing a document when you either don't have the right application installed or you don't want to fire up bloatware to view it. This extension would also pair well with <a href="http://lifehacker.com/software/web-surfing/download-of-the-day-link-alert-firefox-216043.php">previously mentioned Link Alert</a>.</p> <div class="related"><a href="https://addons.mozilla.org/en-US/firefox/addon/8910">Nodobe View</a> [Firefox Add-ons]</div> <br style="clear: both;"/>

  <img alt="" style="border: 0; height:1px; width:1px;" border="0" src="http://www.pheedo.com/img.phdo?i=043125c5f0983cbff6d7bba2b20e2d6b" height="1" width="1"/>
<img src="http://www.pheedo.com/feeds/tracker.php?i=043125c5f0983cbff6d7bba2b20e2d6b" style="display: none;" border="0" height="1" width="1" alt=""/>
<p><a href="http://feeds.gawker.com/~a/lifehacker/full?a=yLNl1f"><img src="http://feeds.gawker.com/~a/lifehacker/full?i=yLNl1f" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.gawker.com/~f/lifehacker/full?a=MU5iM"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=MU5iM" border="0"></img></a> <a href="http://feeds.gawker.com/~f/lifehacker/full?a=CekKM"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=CekKM" border="0"></img></a> <a href="http://feeds.gawker.com/~f/lifehacker/full?a=jFEMm"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=jFEMm" border="0"></img></a> <a href="http://feeds.gawker.com/~f/lifehacker/full?a=hgb3m"><img src="http://feeds.gawker.com/~f/lifehacker/full?i=hgb3m" border="0"></img></a>

</div><img src="http://feeds.gawker.com/~r/lifehacker/full/~4/416131512" height="1" width="1"/></description>
			<link>http://feeds.gawker.com/~r/lifehacker/full/~3/416131512/nodobe-viewer-brings-lightweight-inline-pdf-viewing-to-firefox</link>
			<guid isPermaLink="false"><![CDATA[http://lifehacker.com/5061148/nodobe-viewer-brings-lightweight-inline-pdf-viewing-to-firefox]]></guid>
			<category><![CDATA[ Featured Firefox Extension ]]></category>
			<category><![CDATA[ Downloads ]]></category>
			<category><![CDATA[ Firefox ]]></category>
			<category><![CDATA[ Firefox Extensions ]]></category>
			<category><![CDATA[ Linux ]]></category>

			<category><![CDATA[ Mac OS X ]]></category>
			<category><![CDATA[ Microsoft Office ]]></category>
			<category><![CDATA[ Microsoft Word ]]></category>
			<category><![CDATA[ PDFs ]]></category>
			<category><![CDATA[ Windows ]]></category>
			<pubDate>Thu, 09 Oct 2008 14:00:00 PDT</pubDate>
			<dc:creator>Adam Pash</dc:creator>
			<wfw:commentRss>http://lifehacker.com/index.php?op=postcommentfeed&postId=5061148&view=rss&microfeed=true</wfw:commentRss>

		<feedburner:origLink>http://lifehacker.com/5061148/nodobe-viewer-brings-lightweight-inline-pdf-viewing-to-firefox</feedburner:origLink></item>
Som vi gör nu så filtreras det mot precis allting som finns i <item>-blocket.
Mhm, kategorierna brukar väl ingå i item-blocket eller? I så fall kan jag nog filtrera inläggen tillfredställande eftersom det går att vaska fram vilka kategorier dom har. Synd att dom inte har RSS-flöden sorterade på kategorier. Då hade en stor del av filtreringen varit gjord, sedan hade man kunnat finkorrigera RSSen med skriptet eller något i den stilen. Det går inte att göra en RSS av bara en kategori även om siten inte har varje kategori som RSS, eller det kanske kräver att man tillämpar ditt skript med filter på kategorins namn?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

Det går att filtrera på bara sådant som finns i <category>-blocken om du tycker det är roligt.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:Det går att filtrera på bara sådant som finns i <category>-blocken om du tycker det är roligt.
Nja, det kanske kan vara käckt som ett alternativ till det vanliga mer omfattande filtret.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

För att slippa upprepad kod så stoppade jag alltså in det mesta i en funktion istället. Sen är det bara att köra den funktionen med olika filterparametrar och spara i olika xml-filer. Jag tog med tre filter-exempel, men man kan i princip filtrera precis hur man vill:

Kod: Markera allt

#!/bin/bash

rss=(
"http://feeds.gawker.com/lifehacker/full"
"http://feeds.feedburner.com/weblogsinc/downloadsquad"
)

trap 'rm -f /tmp/rss_head.xml /tmp/rss_body.xml /tmp/rss_foot.xml' EXIT
for rss in "${rss[@]}"
do wget -qO- "$rss" |
   sed ':1;N;s/\r//g;s/\n//g;b1' |
   sed '
      s/<[Ii][Tt][Ee][Mm][^>]*>/\n\0/g
      s/<\/[Ii][Tt][Ee][Mm][^>]*>/\0\n/g
   ' >/tmp/rss.xml
   if ((i++))
   then
      sed '1d;$d' </tmp/rss.xml >>/tmp/rss_body.xml
   else
      sed -n '1p' </tmp/rss.xml >/tmp/rss_head.xml
      sed '1d;$d' </tmp/rss.xml >/tmp/rss_body.xml
      sed -n '$p' </tmp/rss.xml >/tmp/rss_foot.xml
   fi
done

filter_rss() {
   cat /tmp/rss_head.xml <(
      awk "$1" /tmp/rss_body.xml |
      sed -n 's/.*<[Pp][Uu][Bb][Dd][Aa][Tt][Ee][^>]*>\([^<]*\)<\/[Pp][Uu][Bb][Dd][Aa][Tt][Ee][^>]*>.*/date -d "\1" +%s; cat <<\\EOF\n\0\nEOF/p' |
      bash |
      sed '/^[0-9]\+$/{N;s/\n//}' |
      sort -nr |
      sed 's/^[0-9]\+//'
   ) /tmp/rss_foot.xml
}

filter_rss '/linux/ && /windows/' >/tmp/rss_linux_and_windows.xml
filter_rss '/linux/ || /windows/' >/tmp/rss_linux_or_windows.xml
filter_rss '/linux/ && !/windows/' >/tmp/rss_linux_but_not_windows.xml
Om du vill kunna matcha oavsett om det är stora eller små bokstäver kan du gör så här:

Kod: Markera allt

'/[Ll][Ii][Nn][Uu][Xx]/ && /[Ww][Ii][Nn][Dd][Oo][Ww][Ss]/'
eller så här:

Kod: Markera allt

'tolower($0)~/linux/ || tolower($0)~/windows/'
eller så här:

Kod: Markera allt

'toupper($0)~/LINUX/' && toupper($0)!~/WINDOWS/'
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:För att slippa upprepad kod så stoppade jag alltså in det mesta i en funktion istället. Sen är det bara att köra den funktionen med olika filterparametrar och spara i olika xml-filer. Jag tog med tre filter-exempel, men man kan i princip filtrera precis hur man vill:

Kod: Markera allt

#!/bin/bash

rss=(
"http://feeds.gawker.com/lifehacker/full"
"http://feeds.feedburner.com/weblogsinc/downloadsquad"
)

trap 'rm -f /tmp/rss_head.xml /tmp/rss_body.xml /tmp/rss_foot.xml' EXIT
for rss in "${rss[@]}"
do wget -qO- "$rss" |
   sed ':1;N;s/\r//g;s/\n//g;b1' |
   sed '
      s/<[Ii][Tt][Ee][Mm][^>]*>/\n\0/g
      s/<\/[Ii][Tt][Ee][Mm][^>]*>/\0\n/g
   ' >/tmp/rss.xml
   if ((i++))
   then
      sed '1d;$d' </tmp/rss.xml >>/tmp/rss_body.xml
   else
      sed -n '1p' </tmp/rss.xml >/tmp/rss_head.xml
      sed '1d;$d' </tmp/rss.xml >/tmp/rss_body.xml
      sed -n '$p' </tmp/rss.xml >/tmp/rss_foot.xml
   fi
done

filter_rss() {
   cat /tmp/rss_head.xml <(
      awk "$1" /tmp/rss_body.xml |
      sed -n 's/.*<[Pp][Uu][Bb][Dd][Aa][Tt][Ee][^>]*>\([^<]*\)<\/[Pp][Uu][Bb][Dd][Aa][Tt][Ee][^>]*>.*/date -d "\1" +%s; cat <<\\EOF\n\0\nEOF/p' |
      bash |
      sed '/^[0-9]\+$/{N;s/\n//}' |
      sort -nr |
      sed 's/^[0-9]\+//'
   ) /tmp/rss_foot.xml
}

filter_rss '/linux/ && /windows/' >/tmp/rss_linux_and_windows.xml
filter_rss '/linux/ || /windows/' >/tmp/rss_linux_or_windows.xml
filter_rss '/linux/ && !/windows/' >/tmp/rss_linux_but_not_windows.xml
Om du vill kunna matcha oavsett om det är stora eller små bokstäver kan du gör så här:

Kod: Markera allt

'/[Ll][Ii][Nn][Uu][Xx]/ && /[Ww][Ii][Nn][Dd][Oo][Ww][Ss]/'
eller så här:

Kod: Markera allt

'tolower($0)~/linux/ || tolower($0)~/windows/'
eller så här:

Kod: Markera allt

'toupper($0)~/LINUX/' && toupper($0)!~/WINDOWS/'
Lysande! Det här får jag testa, men det fungerar säkert. Har du lust att förklara vilkorssatserna för filtreringsorden? Vilka alternativ finns?

Edit:

Nu förstår jag vilkorssatserna, det framgår ju av xml-fielrnas namn. Tack!
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

ubot skrev:Lysande! Det här får jag testa, men det fungerar säkert. Har du lust att förklara vilkorssatserna för filtreringsorden? Vilka alternativ finns?
Innuti // kan du stoppa in vilket reguljärt uttryck du vill. Men jag tänker inte gå in på allt man kan göra med reguljära uttryck eftersom det blir alltför omfattande. Du får googla på "regular expression" eller "regex" om du vil veta mer.

Men vi kan ta ett exempel på hur man kan använda regexp för att matcha mot "linux" inom <category>-blocken: /<category>.*linux.*<\/category>/

Eftersom regex är "case sensitive" så matchar /linux/ mot "linux" men inte mot "Linux". Du kan få "case insensitive" matchning genom att först göra om det du matchar mot till lowercase: tolower($0)~/linux/.

Om du vill att något inte får matcha så stoppar du in ett utropstecken: !/linux/, eller tolower($0)!~/linux/.

Du använder && om flera matchningar måste stämma.
/linux/ && /windows/

Du använder || om någon av flera matchningar måste stämma.
/linux/ || /windows/

Har du flera && och || så kan du stoppa in parantser för att styra vad som matchas först.
/linux/ && ( /windows/ || /macos/ )
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Konservburk skrev:
ubot skrev:Lysande! Det här får jag testa, men det fungerar säkert. Har du lust att förklara vilkorssatserna för filtreringsorden? Vilka alternativ finns?
Innuti // kan du stoppa in vilket reguljärt uttryck du vill. Men jag tänker inte gå in på allt man kan göra med reguljära uttryck eftersom det blir alltför omfattande. Du får googla på "regular expression" eller "regex" om du vil veta mer.

Men vi kan ta ett exempel på hur man kan använda regexp för att matcha mot "linux" inom <category>-blocken: /<category>.*linux.*<\/category>/

Eftersom regex är "case sensitive" så matchar /linux/ mot "linux" men inte mot "Linux". Du kan få "case insensitive" matchning genom att först göra om det du matchar mot till lowercase: tolower($0)~/linux/.

Om du vill att något inte får matcha så stoppar du in ett utropstecken: !/linux/, eller tolower($0)!~/linux/.

Du använder && om flera matchningar måste stämma.
/linux/ && /windows/

Du använder || om någon av flera matchningar måste stämma.
/linux/ || /windows/

Har du flera && och || så kan du stoppa in parantser för att styra vad som matchas först.
/linux/ && ( /windows/ || /macos/ )
Ok, I got the picture, tror jag iaf. Tack så mycket för all hjälp!!! Det var väldigt snällt av dig att hjälpa mig att sätta ihop ett skript för mina ändamål. Jag har planer på att sätta ihop en nyhetsportal där RSS-flödena sammanfogas för att sedan filtreras på olika kategorier så som vi/du har gjort. Vad tror du om det, meningslöst eller? ;)
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: Filtrera och blanda många RSS-flöden?

Inlägg av ubot »

Någonting krånglar. När jag lägger till lite fler RSS-flöden från kända am bloggar så får jag det här meddelandet när jag försöker öppna xml-filen i Firefox efteråt:
XML-tolkningsfel: prefix inte bundet till en namnrymd
Adress: file:///home/mrx/Skrivbord/rss_linux_but_not_windows.xml
Radnummer 2, Kolumn 1261:<item> <title>How to Install Apache2 webserver with PHP,CGI and Perl Support in Ubuntu Server</title> <link>http://ww
Varför får jag det här resultatet? OM det är så att ett RSS-flöde inte fungerar så måste man ju ta hänsyn till det i koden eftersom det lär bli ett par misslyckade hämtningar av RSS-flöden bland 500 st. Jag vet ju inte om det är felet, men om alltså.

Jag testade xml-filerna i Liferea också. Där får jag upp flödena men Liferea klagar på valideringsfel. Det kanske är fel på något av feeden som jag tagit med i listan. Men samtidigt så är det väl konstigt om stora amerikanska bloggar inte har validerade RSS-floden? Det är bara en av xml-filerna som ger felmeddelande, en är tom (pga filtreringen förmodligen) och en fil ger inget felmeddelande.

Så här säger Liferea:
Fel inträffade under tolkning av denna kanal!

(Detaljer för tolkningsfel)

Detaljer

namespace


error :


Namespace prefix content on encoded is not defined


ntent/uploads/2008/10/browsers.png" alt="" /></description> <content:encoded


^


namespace


error :


Namespace prefix content on encoded is not defined


Quick Online Tips. All Rights Reserved.</p>]]></description> <content:encoded


^



[Det fanns ytterligare fel. Utmatningen har kortats ned!]
You may want to validate the feed using
FeedValidator
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Filtrera och blanda många RSS-flöden?

Inlägg av Konservburk »

ubot skrev:
Namespace prefix content on encoded is not defined


ntent/uploads/2008/10/browsers.png" alt="" /></description> <content:encoded
Antagligen så ska "encoded" defineras i rss-huvudet (som ju har klippts bort). Men det är svårt att svara på utan att se hela xml-koden.
Användarvisningsbild
micke_nordin
Inlägg: 1539
Blev medlem: 21 aug 2008, 17:03
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Kontakt:

Re: Filtrera och blanda många RSS-flöden?

Inlägg av micke_nordin »

Om man skall återpublicera det filtrerade rss-flödet vill man väl förmodligen ha ett eget huvud i rss-filen?

/Micke
Skriv svar

Återgå till "Programmering och webbdesign"