scrapy爬虫抓取某些页面的时候,页面没有反应,也不是404,也不知道有没有内容,反正就是用浏览器打开地址,什么有没有,一片空白,也不报错,一直就那样。这种页面怎么跳过?
scrapy爬虫抓取某些页面的时候,页面没有反应,也不是404,也不知道有没有内容,反正就是用浏览器打开地址,什么有没有,一片空白,也不报错,一直就那样。这种页面怎么跳过?
有的页面打开是空白,再刷一次又有内容,我写的一个中间件,
在setting里设置RETRY_ENABLED = True,RETRY_TIMES = 10可以重试10次
class BlankPageRetryMiddleware(RetryMiddleware):
def __init__(self, *args, **kw):
super(BlankPageRetryMiddleware, self).__init__(*args, **kw)
self.length_threshold = 100
def process_response(self, request, response, spider):
if len(response.body) < self.length_threshold:
log.msg("blank page: %s" % response.url, level=log.INFO)
retries = request.meta.get('retry_times', 0) + 1
log.msg("**********blank page: %s retries: %s" % (response.url, retries))
reason = 'blank page %s' % response.url
return self._retry(request, reason, spider) or response
return response
配置超时时间?
http://doc.scrapy.org/en/latest/topics/settings.html#std:setting-DOWNLOAD_TIMEOUT