首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用Scrubty从XML输出内容中抓取URL

如何正确使用Scrubty从XML输出内容中抓取URL
EN

Stack Overflow用户
提问于 2010-09-07 06:54:57
回答 1查看 175关注 0票数 0

我绝对不是Ruby的高手,对Scrubyt来说也是个新手。我只是在尝试一些在维基页面上找到的例子。我正在做的一个例子是,当你搜索“ruby”时,获取谷歌返回的搜索结果,我有了抓取每个结果的URL的想法,这样我就可以继续获取该页面。问题是我不知道如何恰当地抓取URL。这是我的以下代码:

代码语言:javascript
复制
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()打印的一些内容

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-28 10:09:32

我会考虑其他选择。Scrubyt已经有一段时间没有更新了,论坛也被关闭了。

Mechanize可以做提取器所做的事情,Nokogiri可以解析XML或HTML响应,构建器可以创建XML (尽管看起来您并不真正需要XML)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3654708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档