Scrapy 抓取被 403/503 阻止

Scrapy crawl blocked with 403/503

我是运行 Scrapy 0.24.4,遇到过很多站点很快就关闭抓取,通常在 5 个请求之内。每个请求的站点 return 403 或 503,Scrapy 放弃。我正在 运行 通过 100 个代理池,启用了 RotateUserAgentMiddleware

有谁知道即使代理和用户代理发生变化,网站如何能够如此快速地识别 Scrapy? Scrapy 不会在请求 headers 中添加任何东西,是吗?

有些网站包含 javascript 需要 运行 的代码。 Scrapy 不执行 javascript 代码,所以网络应用很快就知道它是一个机器人。

http://scraping.pro/javascript-protected-content-scrape/

尝试对那些 return 403 的网站使用 selenium。如果使用 selenium 进行爬网有效,您可以假设问题出在 javascript。 我认为 crunchbase.com 使用这种保护来防止抓取。

看来主要问题是没有启用 cookie。启用 cookie 后,我现在取得了更大的成功。谢谢。

我已经启用了 cookie。 修复它的是使用另一个用户代理,一个常见的用户代理。

将项目 USER_AGENT 的 settings.py 文件替换为:

USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'

我只是将 AutoThrottle_ENABLED 设置为 True,我的脚本能够 运行。