Ruby Nokogiri和xpath用于提取表数据

Ruby Nokogiri和xpath用于提取表数据,ruby,html-table,nokogiri,Ruby,Html Table,Nokogiri,我是一个新手,我试图从表中获取一些数据,但使用xpath运气不太好。我可以得到我需要的第一个领域,但是。。。没什么 每行的表结构如下所示: <tr bgcolor="#FFF7E7"> <td valign="Top"><font color="#8C4510"> <span id="DataGrid1__ctl3_Label2">Index</span> </font></td> <td><f

我是一个新手,我试图从表中获取一些数据,但使用xpath运气不太好。我可以得到我需要的第一个领域,但是。。。没什么

每行的表结构如下所示:

<tr bgcolor="#FFF7E7">
<td valign="Top"><font color="#8C4510">
<span id="DataGrid1__ctl3_Label2">Index</span>
</font></td>
<td><font color="#8C4510"><a href="javascript:__doPostBack('DataGrid1$_ctl3$_ctl0','')"><font color="#8C4510">Title</font></a></font></td>
<td><font color="#8C4510"><a href="javascript:__doPostBack('DataGrid1$_ctl3$_ctl2','')"><font color="#8C4510">People</font></a></font></td>
<td valign="Top"><font color="#8C4510">Date</font></td><td><font color="#8C4510"><a href="javascript:__doPostBack('DataGrid1$_ctl3$_ctl4','')">
<font color="#8C4510">Text</font></a></font></td>
<td><font color="#8C4510"><a href="javascript:__doPostBack('DataGrid1$_ctl3$_ctl6','')"><font color="#8C4510">Outcome</font></a></font></td>
<td valign="Top">
<font color="#8C4510"><a href="javascript:__doPostBack('DataGrid1$_ctl3$_ctl8','')"><font color="#8C4510">Click link for more</font></a></font></td>
</tr>

指数
日期
我试图提取索引、标题、人物、文本、结果字段以及链接。 我正在设法提取索引,但似乎无法获取其余的索引

在我的ruby代码中,我对实际获取表的调用似乎起到了作用,但我提取表中每一行字段的循环却没有起到作用,除了索引


任何帮助都会很好。

通过您在那里提供的摘录,您可以使用以下XPath查询提取文本和链接:

require 'rubygems'
require 'nokogiri'

f = File.open('test.html')
doc = Nokogiri::HTML(f)

doc.xpath("//tr//td//a").each do |node|
  puts "#{node.text().strip()}: #{node.attribute('href')}"
end
f.close

但是,没有看到表中的其他行,不确定这是否对其他行有帮助。

您的输入错误“ahref”应该是“a href”。谢谢。这很有帮助。我需要前五个字段的文本,只有最后一个字段的链接(然后我需要点击),这样我就可以修改它。