关于使用scrapy绕过400状态码报错,停止爬取的方法
我在爬起点小说网的时候,因为是扫网页,也就是一个一个去试,导致不可避免的会访问到400的请求
而scrapy在遇到400的状态码的时候会自动停止爬取,在爬虫文件中的parse方法里获取不到返回的信息
直接给你报错,然后终止爬虫工作,就很烦。。。
在网上找了好久,终于找到一个方法,能在获取到400后不停止,直接返回到爬虫文件的parse中的response
在settings.py中设置
# 忽略400报错,直接传入parse
HTTPERROR_ALLOWED_CODES = [400]
然后在爬虫文件中的parse方法的response获取到
def parse(self, response):
print(response)
print(response.status)
在控制台中可以看到信息了
<400 https://book.qidian.com/info/1030564368/>
400
本文介绍了如何在使用Scrapy爬虫时,面对400 Bad Request错误不终止爬取。通过在settings.py中设置HTTPERROR_ALLOWED_CODES为[400],可以忽略400状态码并继续执行解析逻辑。在爬虫文件的parse方法中,可以捕获并处理400状态码的响应,从而实现定制化的错误处理策略。

被折叠的 条评论
为什么被折叠?



