【发布时间】:2012-04-14 06:58:22
【问题描述】:
我有一个 HTML 文档来解析并从那里读取一堆东西。问题是 html 中有多个表,我只对一个表感兴趣。另外,我只想阅读具有一些有用内容的行。这是示例 html 页面,有两个没有 ID 的表,我只想要第二个表和对人类有用的行。
<HTML>
<BODY>
<TABLE>
<TR>
<TD> I don't want this table </TD></TR>
<TR>
<TD></TD>
<TD> No No No <br></TD>
</TR>
....
</TABLE>
<TABLE>
<TR>
<TD>04/13/2012 22:51 I want this table </TD></TR>
<TR>
<TD></TD>
<TD> First - something there <br></TD>
</TR>
<TR>
<TD>04/13/2012 23:23 Update from xyz</TD></TR>
<TR>
<TD></TD>
<TD>Second - something here <br></TD>
</TR>
</TABLE>
</BODY>
</HTML>
我正在尝试这段代码,这显然是行不通的。 o/p 不是我想要的文本。它包括两个表,我只想要第二个表。帮忙!
require 'curb'
require 'nokogiri'
c = Curl::Easy.perform("http://server/cgi-bin/page.cgi?id=123456")
html_doc = Nokogiri::HTML(c.body_str.to_s)
puts html_doc.xpath("//table/tr/td")
【问题讨论】:
-
知道了!
require 'curb' require 'nokogiri' c = Curl::Easy.perform("http://server/cgi-bin/page.cgi?id=123456") html_doc = Nokogiri::HTML(c.body_str.to_s) puts html_doc.xpath("//table[2]/tr/td/text()")