我的网页具有类似html
格式的网页,如下所示:
<form name="test">
<td> .... </td>
.
.
.
<td> <A HREF="http://www.edu/st/file.html">alo</A> </td>
<td> <A HREF="http://www.dom/st/file.html">foo</A> </td>
<td> bla bla </td>
</form>
现在,我只知道值bla bla
,根据值我们可以跟踪或找到3rd last
..值(这里是alo
)?我可以在HREF
值的帮助下跟踪这些值,但HREF
值并不总是固定,它们可以随时出现。
答案 0 :(得分:1)
它可以帮助您解析HTML代码,然后通过选择器
找到元素答案 1 :(得分:1)
从HTML文档中提取每个<td>
很简单,但这并不是导致DOM导航的简单方法。但是,鉴于示例HTML的局限性,这是一个解决方案。我怀疑它在真实世界的情况下会起作用。
Mechanize在内部使用Nokogiri进行繁重的工作,因此如果您已经需要Mechanize,则不需要require 'nokogiri'
。
require 'nokogiri'
doc = Nokogiri::HTML::DocumentFragment.parse(<<EOT)
<td> <A HREF="http://www.edu/st/file.html">alo</A> </td>
<td> <A HREF="http://www.dom/st/file.html">foo</A> </td>
<td> bla bla </td>
EOT
doc.search('td')[-3].at('a')['href']
=> "http://www.edu/st/file.html"
如何从Mechanize“代理”获取Nokogiri文档留给用户练习。