Eftersom Fredrik på vår marknadsavdelning inte behagade att lägga upp en RSS-feed till vår nya, fina och framförallt rättvisa hösttävling så tänkte jag vara en liten show-off med min Internet Kung Fu.
Yahoo Pipes har många av er säkert läst om (visserligen är det svårt att komma ihåg saker från så långt tillbaka i tiden, det lanserades ju för år och dagar sedan), men ni kanske inte är medvetna om riktigt hur tufft det är.
För att visa på möjligheterna med detta välputsade verktyg så har ni här ett exempel som i fyra pricksäkra Kung Fu-sparkar choppar upp Fredriks HTML och spottar ur sig prima RSS som ni sedan kan slänga in i er RSS-läsare för att slippa slita ut F5 (eller kanske snarare Kommando-R).
Länk till exemplet. Länk till RSS-flödet.
Kort genomgång
- Hämta vanlig slarvig HTML med Fetch page. Splitta på <div class=”pic”>.
- Filtera bort alla poster som inte har en bild-länk i sig, för att bara få de senaste bilderna.
- Kopiera resultatet till de fyra fälten som vi bryr oss om i detta exempel (title, description, pubDate och link).
- Gör fyra reguljära uttryck som söker fram informationen som vi vill ha ur hela bild-html-snutten och byter ut mot t.ex enbart länken.
- Det finns inget femte steg, vi är klara. Men sen kan man spara och publicera sin Pipe för att världen ska bli lite bättre.
Ni kan se källkoden om ni har ett Yahoo-konto och väljer Edit source från länken ovan.
Jag vet att pubDate har fel format, men jag orkade inte konvertera det. Den av er som skickar in ett exempel på hur jag konverterar från Fredriks egenhändigt valda och därför helt ostandardiserade datumformat till korrekt format för RSS vinner fem Loopia-musmattor och eternal fame i och med ett omnämnande här på bloggen.
Jag tycker att det ser rätt ut, men kan det bero på att tjänsten har blivit uppdaterad? http://blog.pipes.yahoo.net/2008/11/05/pipes-charset-encoding-and-pubdate/
Nix, jag försökte sätta pubDate för varje <item>, men det verkar som att Pipes auto-filtrerar bort dem eftersom formatet är felaktigt (vettigt).
pubDate för <channel> satte jag inte manuellt, det är Pipes som genererar den automatiskt och den sätts till tiden när man hämtar RSS:en (eller kör Pipen på något annat sätt).