Scrapy CrawlSpider重试刮擦

Scrapy CrawlSpider重试刮擦,第1张

Scrapy CrawlSpider重试刮擦

我会考虑使用 自定义的Retry
Middleware

,它类似于内置的。

实施示例(未经测试):

import logginglogger = logging.getLogger(__name__)class RetryMiddleware(object):    def process_response(self, request, response, spider):        if 'var PageIsLoaded = false;' in response.body: logger.warning('parse_page encountered an incomplete rendering of {}'.format(response.url)) return self._retry(request) or response        return response    def _retry(self, request):        logger.debug("Retrying %(request)s", {'request': request})        retryreq = request.copy()        retryreq.dont_filter = True        return retryreq

并且不要忘记激活它。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5462353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存