【发布时间】:2019-09-09 12:47:34
【问题描述】:
我正在尝试使用 scrapinghub 抓取一个严重限制请求率的网站。
如果我按原样运行蜘蛛,我很快就会得到 429。
如果我按照standard instructions 启用 crawlera,蜘蛛将不再工作。
如果我设置 headers = {"X-Crawlera-Cookies": "disable"} 蜘蛛再次工作,但我得到 429 - 所以我假设限制器(也)在 cookie 上工作。
那么这里有什么方法呢?
【问题讨论】:
-
提高速率的策略有很多。您可以增加参数
CONCURRENT_REQUESTS,但不要增加太多,因为网站会通过响应 500 降低您的速度。您可以复制您的蜘蛛并拆分您想要抓取的一组网址,以便将每个切片专用于每个重复项。这是一个很大的话题。此外,如果没有 cookie,它的效果会非常好,而且效果更好,那就简单地做吧。 -
@AvyWam 不,没有 cookie 它不起作用:它们需要由 scrapy 处理,以便在请求之间维护它们。这就是我的观点:如果需要保留它们,Crawlera 中间件对我来说似乎没用,除非它也暴露了会话 - 但是it doesn't
标签: scrapy scrapinghub crawlera