【问题标题】:Error in fetching a list of urls from a website using anemone使用海葵从网站获取 url 列表时出错
【发布时间】:2012-09-04 08:51:13
【问题描述】:

代码:

require 'anemone'
Anemone.crawl("http://www.example.com/") do |anemone|
  anemone.on_every_page do |page|
    puts page.url
  end
end

当我尝试这段代码时,我应该得到该网站上所有网址的列表,但我得到的只是网站的名称。可能是什么错误以及如何获取所有 url 的列表?

【问题讨论】:

  • 它工作正常。显然,如果你在 example.com 上这样做,它只会显示example.com,因为只有这个页面。

标签: ruby anemone


【解决方案1】:

我猜 anemone 只是不能跟随重定向或类似的东西,因为“http://example.com”将我重定向到其他站点。您是否尝试过抓取其他网站?以http://stackoverflow.com 为例。

【讨论】:

  • 这只是一个代理错误,设置终端代理后它工作正常。有没有办法在脚本本身中包含代理设置?
  • 当然,Anemone.crawl(url, {:proxy_host => '你的代理主机', :proxy_port => '你的代理端口'})
  • 要求 'anemone' Anemone.crawl("stackoverflow.com/") 做 |anemone| {:proxy_host => 'proxy.xyz.com', :proxy_port => '9999'} anemone.on_every_page 做|page| puts page.url end end 尝试了这个 tto 但它只给出了网站名称。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
  • 1970-01-01
  • 1970-01-01
  • 2020-07-12
  • 2020-10-02
  • 1970-01-01
相关资源
最近更新 更多