Scrapy spider在几分钟后返回200响应

Scrapy spider在几分钟后返回200响应,scrapy,scrapy-spider,splash-screen,Scrapy,Scrapy Spider,Splash Screen,当我试图废弃一个网站时,我遇到了动态内容的问题。我刚刚使用Docker通过以下方式为我的Scrapy添加了飞溅: 不幸的是,我仍然没有捕获内容,因为动态内容(可能?) 我的代码运行并捕获内容,然后在抓取大约4000页后,它只会在接下来的6000页中返回此错误,其中大多数页都有数据: [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www...> (referer: None) 当您没有获取数据时,将响应的HTML保存在文

当我试图废弃一个网站时,我遇到了动态内容的问题。我刚刚使用Docker通过以下方式为我的Scrapy添加了飞溅:

不幸的是,我仍然没有捕获内容,因为动态内容(可能?)

我的代码运行并捕获内容,然后在抓取大约4000页后,它只会在接下来的6000页中返回此错误,其中大多数页都有数据:

[scrapy.core.engine] DEBUG: Crawled (200) <GET http://www...> (referer: None)

当您没有获取数据时,将响应的HTML保存在文件中,然后在浏览器中打开该HTML文件,查看该页面上不存在
名称
地址
等的原因

我怀疑他们显示验证码是因为来自同一IP的连续请求

如果他们显示验证码,您可以使用代理服务来避免验证码

同时创建一个和内部函数,检查是否有验证码,然后使用
dont\u filter=True
参数再次清除该链接

编辑

你可以用这段代码写一个文件,顺便说一句,你可以通过谷歌找到很多用Python写文件的方法

with open('response.html', '2+') as the_file:
     the_file.write(response.body)

也许你正在抓取的网站已经开始显示CAPTCH了,有什么解决方案吗?我不能发布代码/解决方案,我可以建议你在没有数据的情况下将响应的HTML保存在一个文件中,然后在浏览器中打开该HTML文件,看看为什么该页面上不存在名称、地址等。我做了:if not response.meta.get('solve_captcha',False):打印“captcha”,您是对的,这是一个验证码问题
with open('response.html', '2+') as the_file:
     the_file.write(response.body)