我绝不是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
这样简单的事情,还是有办法从link_url
中保存的xml内容中提取文字?
这是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>