我绝不是 Ruby 的大师,而且对 Scrubyt 也很陌生。我只是在尝试在 wiki 页面上找到的一些示例。我正在处理的示例是在您搜索“ruby”时获取谷歌返回的搜索结果,我有获取每个结果的 URL 的想法,这样我就可以继续获取该页面。问题是我不知道如何正确获取 URL。这是我的以下代码:
require 'rubygems'
require 'scrubyt'
google_data = Scrubyt::Extractor.define do
fetch 'http://www.google.com/ncr'
fill_textfield 'q','ruby'
submit
link_title "//a[@class='l']", :write_text => true do
link_url
end
end
google_data.to_xml.write($stdout, 1);
代码适当地打印出 XML 数据(名称和链接),但是如何在没有<link_url>
似乎添加到其中的标签的情况下检索链接(我试图打印出 link_url,我注意到标签也被打印出来了)。我可以做一些简单的事情吗?fetch link_url
或者有没有办法从保存的 xml 内容中提取文本link_url
?
这是由 打印的一些内容google_data.to_xml.write()
:
<root>
<link_title>
Ruby Programming Language
<link_url>http://ruby-lang.org/</link_url>
</link_title>
<link_title>
Download Ruby
<link_url>http://www.ruby-lang.org/en/downloads/</link_url>
</link_title>
<link_title>
Ruby - The Inspirational Weight Loss Journey on the Style Network ...
<link_url>http://www.mystyle.com/mystyle/shows/ruby/index.jsp</link_url>
</link_title>
<link_title>
Ruby (programming language) - Wikipedia, the free encyclopedia
<link_url>http://en.wikipedia.org/wiki/Ruby_(programming_language)</link_url>
</link_title>
</root>