1

このようなWebサイトでいくつかの値を取得するために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

したがって、 「 http://thevalue.comauction_links.text 」を返す必要があります。

編集:

それがうまくいかない場合は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 に答える