0

可能重复:
使用 Nokogiri 和 Ruby 从 html doc 获取链接和 href 文本?

我得到以下 Nokogiri 输出:

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"

如果文档中只有一个<a>标签,您可以使用以下代码简化代码at

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

将返回相同的值。

于 2013-01-18T09:06:38.060 回答