我是一个新手,我正在尝试从表中删除一些数据,但使用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代码中,我实际获取表的调用似乎正在起作用,但是除了索引之外,我正在为表的每一行提取字段的循环不是。
任何帮助都会很棒。
答案 0 :(得分:2)
根据您提供的摘录,您可以使用以下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
但是,没有看到表中的其他行,不确定这是否对其余行有任何帮助。