我试图用Nokogiri刮掉Reddit,但是一次这样的操作一直告诉我,我提出的请求太多了。
require 'nokogiri'
require 'open-uri'
url = "https://www.reddit.com/r/all"
redditscrape = Nokogiri::HTML(open(url))
OpenURI::HTTPError: 429 Too Many Requests
这只是一个请求吗?如果不是,我该如何为Nokogiri创建睡眠间隔?
答案 0 :(得分:4)
答案 1 :(得分:2)
真正的答案是您需要设置用户代理。
https://www.reddit.com/r/redditdev/comments/3qbll8/429_too_many_requests/
和
How to set a custom user agent in ruby
这允许我使用open-uri和nokogiri并避免错误。
总结一下:
redditscrape = Nokogiri::HTML(open(url, 'User-Agent' => 'Nooby'))