采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
使用scrapy时,假设在执行过程中,发生异常(exception就可以,不用具体到什么异常),然后想保留当前爬取目标,重试n次,这个怎么处理??
首先你得定位什么是异常? 比如对方给你返回了一个401状态码,比如对方给你返回的是200状态码但是内容是空的,这样算不算异常,比如你爬取的过程中出现了代码异常?这样算不算异常,所以异常你必须得自己心里有个数,不能随便就说异常,这样肯定不行,爬虫一把的异常就是状态码,比如4xx的都认为是异常状态,这些状态码的异常如果想重试可以可以设置哪些状态码重试的,而且scrapy也内置了重试的middleware
基本了解了,我想直接捕获exception,而不是具体的exception进行处理,谢谢,我这查一下,先捕获,再重试
衍生的问题,通过代理爬取目标网站,有的代理很慢,如果我设置超时时间,会出现一个异常吗???这里我怎么重试?假设超时时间是10秒,10秒到了如何发起scrappy的重试
比如: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) 我这里如何重试??
登录后可查看更多问答,登录/注册
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
4.8k 30
2.5k 18
1.1k 18
1.4k 15
2.8k 15