我曾经偶尔刮电子商务网页来获取产品价格信息。我还没有使用过一段时间内使用Scrapy构建的刮板,昨天正在尝试使用它 - 我遇到了bot保护问题。如何绕过Scrapy中的cloudflare bot/ddos保护?
它正在使用CloudFlare的DDOS保护,它基本上使用JavaScript评估来过滤掉禁用JS的浏览器(因此也是刮板)。一旦函数被评估,就会生成计算编号的响应。作为回报,服务返回两个认证cookie,附加到每个请求允许通常抓取站点。 Here是它如何工作的描述。
我还发现了一个cloudflare-scrape Python模块,它使用外部JS评估引擎来计算数量并将请求发送回服务器。我不知道如何将它整合到Scrapy。或者,也许有一个更聪明的方式,而不使用JS执行?最后,这是一种形式...
我会apriciate任何帮助。
执行JS有什么问题?如果没有它,很多内容都无法达到...... – dandavis
@dandavis Scrapy不会执行JS执行。没有JS的 – Rejected
,刮被越来越无用。你应该考虑使用浏览器来刮擦。我的Scrape脚本可以获取登录信息,获取动态页面和分页内容,甚至可以通过虚假点击来在请求之前请求更多动态子内容,而且我认为任何代码都不会超过10行或需要大型外部库。所有你需要的是篡改键和下载程序... KISS。如果你想让它更加自动化,你可以将用户脚本切换到phantomJS或类似的东西。 – dandavis