Ruby,Mechanize。如何获得具体<a> tag text</a>

时间:2014-07-19 04:47:04

标签: ruby-on-rails ruby web-scraping mechanize

我的目标是获得“我想要这个文字”的文字。

<div class="class1">
<b>xxxxx</b>
<a href="http://example.com/want/xxxx">I want this text</a>
<a href="http://example.com/want/yyyy">I want this text</a>
<b>yyyyy</b>
<a href="http://example.com/unnece/xxxx">no need</a>
<a href="http://example.com/unnece/xxxx">no need</a>
</div>

<div class="class2">
<a href="http://example.com/want/xxxx">no need</a>
<a href="http://example.com/want/yyyy">no need</a>
</div>

我尝试编写代码。

test = agent.page.search("div[@class='class1'] / a").text

然而,我也得到了“不需要”的文字

我该怎么办?我正在使用宝石:

require 'mechanize'
require 'open-uri'

如果可能的话,我想在文本之间放置commma ......

1 个答案:

答案 0 :(得分:0)

我会选择像这样的css选择器:

test = agent.page.search("div.class1 > a:first-of-type").text