Ich versuche, einige Informationen aus einer tabellenbasierten Website mit hpricot zu extrahieren. Ich erhalte den XPath mit FireBug.
/html/body/div/table/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr/td[2]/table/tbody/tr[3]/td/table[3]/tbody/tr
Das funktioniert nicht... Offenbar ist der XPath von FireBug der Pfad des gerenderten HTML und nicht der tatsächliche HTML-Code der Website. Ich habe gelesen, dass das Entfernen von tbody das Problem beheben kann.
Ich versuche es mit:
/html/body/div/table/tr/td/table/tr[2]/td/table/tr/td[2]/table/tr[3]/td/table[3]/tr
Und es klappt immer noch nicht... Ich tue ein wenig mehr Forschung, und einige Leute berichten, sie bekommen ihre XPath Entfernen der Zahlen, so dass ich dies versuchen:
/html/body/div/table/tr/td/table/tr/td/table/tr/td/table/tr/td/table/tr
Immer noch kein Glück...
Also beschließe ich, es Schritt für Schritt so zu machen:
(doc/"html/body/div/table/tr").each do |aaa |
(aaa/"td").each do | bbb|
pp bbb
(bbb/"table/tr").each do | ccc|
pp ccc
end
end
end
Ich finde die Informationen, die ich brauche, in bbb, aber nicht in ccc.
Was mache ich falsch, oder gibt es ein besseres Werkzeug, um HTML mit langen/komplexen XPath zu verschrotten.