Ruby Mechanize获取href属性值

Ruby Mechanize获取href属性值,ruby,nokogiri,mechanize,Ruby,Nokogiri,Mechanize,我对Ruby还不太熟悉,但我在一个铲运机上混日子。我正在使用Mechanize,到目前为止,它看起来相当不错。虽然我现在有点难以抓住一堆链接的href属性 我需要获取href属性,这样我就可以打开每个页面并获取更多信息 这可能吗 这里有一个例子 all_results.search("table.mcsResultsTable tr").each do |tablerow| installer_link = tablerow.search("td:first-child a").href

我对Ruby还不太熟悉,但我在一个铲运机上混日子。我正在使用Mechanize,到目前为止,它看起来相当不错。虽然我现在有点难以抓住一堆链接的href属性

我需要获取href属性,这样我就可以打开每个页面并获取更多信息

这可能吗

这里有一个例子

all_results.search("table.mcsResultsTable tr").each do |tablerow|
    installer_link = tablerow.search("td:first-child a").href
    puts installer_link + "\n"

下面是一个帮助您的示例,关于如何提取href attribute:

require 'nokogiri'

doc = Nokogiri::HTML.parse <<-eot
<a name="html" href = "http://foo">HTML Tutorial</a><br>
<a name="css" href = "http://fooz">CSS Tutorial</a><br>
<a name="xml" href = "http://fiz">XML Tutorial</a><br>
<a href="/js/">JavaScript Tutorial</a>
eot

doc.search("//a").class # => Nokogiri::XML::NodeSet
doc.search("//a").each {|nd| puts nd['href'] }
doc.search("//a").map(&:class)
# => [Nokogiri::XML::Element, Nokogiri::XML::Element, Nokogiri::XML::Element,
#    Nokogiri::XML::Element]

但是我不希望页面上的每个//都有一个标记。虽然这确实有效-tablerow.search(“//a”)。每个{nd |放置nd['href']}
http://foo
http://fooz>CSS Tutorial</a><br>
<a name=
/js/
require 'nokogiri'

doc = Nokogiri::HTML.parse <<-eot
<a target="_blank" class="tryitbtn" href="tryit.asp?filename=try_methods">Try it yourself &raquo;</a>
eot

doc.at('a').keys 
# => ["target", "class", "href"]
doc.at('a').values
# => ["_blank", "tryitbtn", "tryit.asp?filename=try_methods"]
doc.at('a')['target'] # => "_blank"
doc.at('a')['class']  # => "tryitbtn"