ruby Nokogiri请求403禁止



你好,我使用宝石Nokogiri从红宝石工具箱中刮掉宝石的细节

Nokogiri::HTML(open("https://www.ruby-toolbox.com/categories/by_name"))

但是我得到错误:"403 Forbidden"

谁能告诉我为什么我得到这个错误?

Thanks in advance

尝试更改您的user-agent:

Nokogiri::HTML(open("https://www.ruby-toolbox.com/categories/by_name", 'User-Agent' => 'firefox'))

www.ruby-toolbox.com似乎不接受'ruby'作为代理

如前所述,必须更改用户代理。但是,除此之外,您还必须禁用SSL证书验证,因为它也会抛出错误。

require 'nokogiri'
require 'open-uri'
require 'openssl'
url = 'https://www.ruby-toolbox.com/categories/by_name'
content = open(url, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE, 'User-Agent' => 'opera')
doc = Nokogiri::HTML(content)
doc.xpath('//div[@id="teaser"]//h2/text()').to_s
# "All Categories by name"

这似乎是一个OpenURI问题。试试这个:

Nokogiri::HTML(open("https://www.ruby-toolbox.com/categories/by_name", 'User-Agent' => 'ruby'))

我花了大约1个小时尝试403 forbidden的解决方案,包括修改Nokogiri::HTML(open(www.something.com, User-Agent: "Safari"))User-Agent参数,查看代理和其他事情。

但是整个过程中我的代码并没有什么问题,我自动浏览的网站有微妙地改变了url,它之前访问的url被禁止了。

相关内容

  • 没有找到相关文章

最新更新