Dags för Ruby?

Jag har aldrig provat Ruby eller Ruby-on-Rails, men när jag ser alla tips och script som det skrivs om på diverse bloggar så verkar det som om det är dags snart. Det senaste som triggat mitt intresse är HTML-parsern Hpricot som ser fantastisk ut. Tillsammans med verktyg som FireBug så ser det ut som om man kan bygga en enkel OpenKapow, med bara något tiotal rader kod. För somliga så verkar det inte ta mer än 60 sekunder.

Frisim använder idag HTML-parsern HTMLparser 2.0, ett Java-bibliotek, och det är betydligt omständligare än 60-sekundsexemplet ovan. Å andra sidan så bygger inte Frisims HTML-scraping på att det finns en fast placering eller taggar för textstycken som är rubrik eller brödtext, utan på ett antal ”regler” som används för att hitta rubrik och löptext. Reglerna är generella for nyhetssajter och samma inställningar används för alla nyhetssajter. Frisim fungerar alltså ungefär som Tailranks spindel Spinn3r 2.1 ser ut att göra.

För övrigt tycker jag det känns som om amerikanska sajter som använder en teknik liknande det för Frisim, såsom Tailrank och Techmeme, hittar så mycket mer intressant nyhets- och bloggmaterial än vad som jag hittar på svenska. Kanske är det dags att prova att ett mer internationellt projekt parallellt. Kanske blir det projektet kodat i Ruby ;-)

  1. Karl W skriver:

    Hur hanterar du webbsidor som mest av allt inte är välformaterade?
    Hpricot använder sig av XPATH-uttryck, det finns också i Java. XPATH kan jämförs som att ställa SQL-frågor mot en databas, fast mot webbsidor istället. Problemet för både HPricot och XPATH bör vara att inkällan måste vara välformatterad. För att få en välformatterad källa kan man ju köra det genom en Pretty Printer som gör om koden. Jag är dock tveksam till att Ruby-on-Rails html_cleaner (eller vad den heter) lyckas göra om gravt malformaterade webbsidor till någon XML-standard (HTML -> XHTML, t.ex.). I Java har jag använt mig av JTidy vilken ofta misslyckas med att städa upp input tillräckligt.

  2. Clas skriver:

    Min spindel är riktade endast mot nyhetssajter, och de bygger (alltid?) på något CMS vilket gör problemet med felaktigt formaterad HTML, eller i alla fall problemet med gravt felaktig HTML, väldigt litet. Är det någon källa som inte lyckas producera tillräckligt bra HTML för att den parser jag använder ska lyckas identifiera de delar jag är intresserad av så kommer helt enkelt den källan inte med. I värsta fall skulle dålig HTML kunna ”hänga” parsern, men det har jag inte upplevt som något problem med.

    När det gäller RSS på bloggar (men även på nyhetssajter) så är det värre. Där finns ett antal problem, inte minst med teckenkodningen, som jag behöver hantera separat. Det är inte kul. Många RSS- och ATOM- som är publicerade på nätet är sunkiga, tyvärr.

  1. There are no trackbacks for this post yet.