Ruby - Mechanize:get()抛出异常

时间:2015-05-10 11:54:07

标签: ruby parsing mechanize cloudflare

我想解析受CloudFlare保护的网站。 这个街区的最后一行:

agent = Mechanize.new
refs = agent.get(site).links_with(text: 'test')

抛出异常和这里的输出:

c:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/http/agent.rb:308:in 'fetch': 503 => Net::HTTPServiceUnvailable for <site> - unhandled response (Mechanize::ResponseCodeError)
    from c:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize.rb:440:in 'get'
    from script.rb:10:in '<main>'

如何解决?

2 个答案:

答案 0 :(得分:1)

您可能需要与网站所有者联系,看看他们是否会将您的IP列入白名单。你正在做的事情可能看起来像是一次攻击&amp;正在触发安全功能。

答案 1 :(得分:0)

错误是不言自明的:

Net::HTTPServiceUnvailable

表示该网站不可用,与您的代码无关,问题出在网站本身。

编辑:您可以使用watir

相关问题