3

Web ページからテーブルを解析する必要があります。Ruby と Nokogiri を使用する前にこれを実行しましたが、今回は私の方法が機能しません。これは私がやっていることです:

response = RestClient.get "http://www.webpage.com?page=0"
doc = Nokogiri::HTML(response.body,nil,'utf-8')
doc.remove_namespaces!
table = doc.xpath(".//*[@id='contsinderecha']/form/table/tbody/tr[4]/td/table/tbody/tr[5]/td/table")

tableは単なる空の配列です。応答は問題ありませんput response.body。Web ページの本文を取得します。

また、XPath を取得するために、firebug を使用しています。

何が起こっている可能性がありますか?

4

2 に答える 2

6

問題の解決策は、「この Nokogiri XPath に null が返されるのはなぜですか?tbody 」で提案されているように、xPath 内のパーツを取り除くことです。

Firefox がtbody要素を生成したため、要素は Firefox の xPath に表示されますが、元のページ ソースの一部ではありません。

次のことを試してください。

response = RestClient.get "http://www.buenosaires.gob.ar/areas/seguridad_justicia/seguridad_urbana/estaciones_servicio/buscador.php?&pag=0"
doc = Nokogiri::HTML(response.body,nil,'utf-8')
doc.remove_namespaces!
table = doc.xpath(".//*[@id='contsinderecha']/form/table/tr[4]/td/table/tr[5]/td/table")
于 2013-04-15T00:05:07.983 に答える