ruby - Mechanize : get() throws exception

标签 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>'

如何解决?

最佳答案

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

关于 ruby - Mechanize : get() throws exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151080/

相关文章:

ruby - 在具有特定属性的元素之后选择 Nokogiri 元素

ruby - 正则表达式包含单连字符但排除双连字符

parsing - 使用 Pest.rs,我如何指定要锚定和整行的评论?

ruby - 难倒点击与 nokogiri 和 Mechanize 的链接

ruby - 为什么 Ruby 对指数方程式的变量和数字有不同的处理方式?

ruby - 循环遍历数组 ruby

java - 使用 Stax 解析 XML 文件时出现 Unicode(0xb) 错误

java - Gson : fields that sometimes are strings and others arrays

python - BeautifulSoup 未正确获取所有 HTML

ruby - 如何单击 Mechanize 和 Nokogiri 中的链接?