plocka ut data ur HTML
Hej, finns det nån här som känner till om det existerar nåt bra verktyg för att "parsa och plocka ut" data ur HTML-dokument med tabeller. Gärna nåt generellt.
//Peter
Svara
Sv: plocka ut data ur HTML
Ta gärna en titt på Regular Expressions, kan verka svårt till en början, men otroligt kraftfullt.
Är du enbart ute efter ett program som kan plocka ut data från webbsidor så kan Excel plocka ut tabeller från sidor och lägga in det i kolumner/rader i Excel automatiskt. Kan det vara något?
Svara
Sv:plocka ut data ur HTML
Hej!
Tack. Jo det är ju regex man tänker på i första hand, det är bara det att jag har aldrig lyckats lära mig det ordentligt.... och nu hade jag 300 html-filer med lite data i tabeller som jag skulle vilja ha ut med minimalt arbete....
nån generisk "tool" som plockar ut tabeller ur XHTML till en textfil skulle vara OK, om det funnes nån...?
Svara
Sv:plocka ut data ur HTML
Det borde du kunna göra med regular expressions. Själv skulle jag nog försökt mig på det i Emacs.
Om man antar att alla html-filerna är korrekta (validerar), bara innehåller en tabell och inte innehåller några colspan eller rowspan borde det helt enkelt kunna göras som:
1. Plocka bort så att det bara finns mellan <table>...</table> finns kvar.
2. Ersätt <tr>(.*)</tr> med \1\n
3. Ersätt <td>(.*)</td> med \1' ' (mellanrum) eller \1\t
Sen kan du ju importera det till excel eller vad som helst.
Edit:
Och i övrigt funkar ju fortfarande google... http://www.google.se/search?q=extract+tables+from+html
De typ 10 första verkar vettiga...
Svara
Sv: plocka ut data ur HTML
Tack för förslagen. Visst kan även jag googla, men om alla gjorde det skulle det inte finnas särskilt mycket att leta efter, eller hur? Det är konkreta frågor som den här, med konkreta svar som fyller på universum med lösningar som Google sen kan hitta.
Nu hittade jag iofs en C#-kod som jag inte sett förut, som just extraherar ut alla <table> element ur en fil och den kan jag använda som utgångspunkt för mitt specialhack. Jag har ju som sagt 300+ filer som skall hanteras, och det visade sig dessutom vara så att data jag ville ha ut låg i tabeller-i-tabeller osv vilket gjorde det krångligt att lösa med ett aldrig så generellt verktyg.
Jag har nu C#-kod som ger mig alla <table>-element till ett DataSet (tr blir rad och td blir en kolumn), vilket är mycket behändigt. Nu kan jag enkelt plocka ut de som jag vill ha.
återigen, tack för hjälpen.
Svara