出于开发目的,我希望在出现第一个异常(在爬行器或管道中)时立即停止所有抓取活动。
有什么建议吗?
发布于 2013-04-23 11:30:45
在爬行器中,您可以只抛出CloseSpider异常。
def parse_page(self, response):
if 'Bandwidth exceeded' in response.body:
raise CloseSpider('bandwidth_exceeded')
对于其他(中间件、管道等),您可以手动调用close_spider,正如akhter所提到的。
发布于 2012-03-02 15:29:19
这完全取决于您的业务逻辑。但这对你来说是可行的
crawler.engine.close_spider(self, 'log message')
最糟糕的解决方案是
import sys
sys.exit("SHUT DOWN EVERYTHING!")
https://stackoverflow.com/questions/9524923
复制相似问题