1

我正在使用 xpath 在这样的网站上获取一些值

auction_page = Nokogiri::HTML open(a, "User-Agent" => theagent)
auction_links = auction_page.xpath('//iframe[contains(@src, "near")]/@src')

哪个返回我需要的东西

#<Nokogiri::XML::Attr:0x3fcd7bef5730 name="src" value="http://thevalue.com">

我只想获得价值,而不是价值或其他任何东西。我该怎么做呢?

4

2 回答 2

3

我想你正在寻找.text方法。

所以auction_links.text应该返回“ http://thevalue.com ”。

编辑:

如果这不起作用尝试,auction_links.first它将返回一个数组,我确信链接将在那里。; )

为了进一步参考,这里是基本 Nokogiri Crawling/Parsing的一个很好的教程。

于 2013-08-26T16:29:15.683 回答
0

你可以这样做:

require 'nokogiri'

doc = Nokogiri::HTML::Document.parse <<-end
<a id = "foo" class="bar baz" href = "www.test.com"> click here </a>
end

doc.at_xpath("//a[contains(@class,'bar')]/@href").to_s
# => "www.test.com"

所以在你的情况下你可以写:

auction_page.at_xpath('//iframe[contains(@src, "near")]/@src').to_s
# => "http://thevalue.com"
于 2013-08-26T19:04:04.597 回答