Ruby Mechanize屏幕抓取帮助

我试图在一张桌子上刮一排日期。 我想只刮掉今天有第三行的日期。

这是我的机械化代码。 我正在尝试选择colum row witch今天的日期及其及其列:

agent.page.search( “// TD”)的地图(:文本)。.MAP(&:条)

Output: "11-02-2011", "1", "1", "1", "1", "0", "0,00 DKK", "0,00", "0,00 DKK", "12-02-2011", "5", "5", "1", "4", "0", "0,00 DKK", "0,00", "0,00 DKK", "14-02-2011", "1", "3", "1", "1", "0", "0,00 DKK", ",00", "0,00 DKK", "7", "9", "3", "6", "0", "0,00 DKK", "0,00", "0,00 DKK 

我想只刮掉今天的第三行。

而不是使用'//td'遍历

标签,搜索

标签,只抓取第三个标签,然后循环'//td'

Mechanize在内部使用Nokogiri,所以这里是如何在Nokogiri-ese中使用它:

 html = < 11-02-2011111100,00 DKK0,000,00 DKK 12-02-2011551400,00 DKK0,000,00 DKK 14-02-2011131100,00 DKK,000,00 DKK  EOT require 'nokogiri' require 'pp' doc = Nokogiri::HTML(html) pp doc.search('//tr')[2].search('td').map{ |n| n.text } >> ["14-02-2011", "1", "3", "1", "1", "0", "0,00 DKK", ",00", "0,00 DKK"] 

使用.search('//tr')[2].search('td').map{ |n| n.text } .search('//tr')[2].search('td').map{ |n| n.text }附加到Mechanize的agent.page ,如下所示:

 agent.page.search('//tr')[2].search('td').map{ |n| n.text } 

自从我使用Mechanize以来已经有一段时间了,所以它也可能是agent.page.parser...


编辑:

表格中会有更多行。 我要刮的行总是倒数第二。

将这些信息放入原始问题非常重要。 您的问题越准确,我们的答案就越准确。