使用xpath抓取HTML有什么特别要考虑的吗?



我正在尝试使用Nokogiri与xpath从HTML中的位置抓取数据。我使用的xpath是:

 /html/body/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]
xpath指向:
<td class="anatxt" nowrap=""> CELL TXT DATA <div id="div0" style="visibility: hidden; position: absolute">

代码很简单:

#!/usr/bin/ruby -w
require 'rubygems'
require 'nokogiri'
page1 = Nokogiri::HTML(open('test1.html'))
a = page1.xpath("/html/body/table/tbody/tr[2]/td/table/tbody/tr[2]/td[2]").text
p a

它适用于其他较短的路径,但它只在此特定情况下返回""

为什么会发生这种情况?我错过了什么,还是有一个有趣的Nokogiri行为由于某些bug?

tbody标签可能实际上不存在。有些浏览器会在它们不存在的时候添加它们,但是Nokogiri不会。

相关内容

  • 没有找到相关文章

最新更新