0

重複の可能性:
NokogiriとRubyを使用してhtmlドキュメントからリンクとhrefテキストを取得しますか?

次のノコギリ出力が得られます。

obj =  [#<Nokogiri::XML::Element:0x19b1418 name="a" attributes=[#<Nokogiri::XML::Attr:0x123dd44 name="href" value="http://sample.com">] children=[#<Nokogiri::XML::Element:0x123c408 name="span" attributes=[#<Nokogiri::XML::Attr:0x1201f24 name="class" value="highlight">] children=[#<Nokogiri::XML::Text:0x1143b64 "Web">]>, #<Nokogiri::XML::Text:0x113a9c4 "Sample Text">]>]

どうすれば値を取得できます"http://sample.com"か?試してみobj.attributes("value")ましたが、運がありませんでした。

助けていただければ幸いです。

私が使用しているもの:

  • レール3.2.x
  • のこぎり
4

1 に答える 1

1

ほぼ終わりです:

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<a href="http://sample.com">
<span class="highlight">Web</span>
</a>
Sample text
EOT
obj = doc.search('a')

obj.first['href']
=> "http://sample.com"

ドキュメントにタグが1つしかない場合<a>は、次を使用してコードを簡略化できますat

obj = doc.at('a')['href']

同じ値を返します。

于 2013-01-18T09:06:38.060 に答える