我在写爬虫,遇到一个问题。大概是这样的,我先请求首页,然后拿到分页总数,然后按分页请求每一页的数据,但是分页的数据,有时候会请求不到,那么我想,请求不到吧 我再写个方法再去请求一次,再请求不到就算了。但是分页请求即使请求不到数据,但是也不会再去请求下一次。不知道为啥。
爬虫内代码为:
def parse(self, response):
while pageNow < pageTotal:
yield scrapy.Request(url, self.parseNext)
def parseNext(self, response):
#如果失败了
yield scrapy.Request(url, self,parseData)
def parseData(self, response):
#问题是不走到这个方法里面来
1
zhijiansha 2018-11-11 10:18:37 +08:00 via iPhone
写个中间件
|
2
yangyaofei 2018-11-11 10:22:00 +08:00 via Android
同样的请求第二次被过滤掉了?加 dont-filte
|
3
moxiaowei OP @zhijiansha 中间件 download middle 是写了的,但是,download middle 我是用来使用代理的。
|
4
moxiaowei OP @yangyaofei 好的 谢谢 我来试试
|
5
moxiaowei OP @yangyaofei 谢谢 确实是这样的
|
6
sunorg 2018-11-11 10:49:14 +08:00 via Android
用 chrome headless
|
8
dreasky 2018-11-11 11:32:25 +08:00
参考 scrapy 内置的 RetryMiddleware 和 DownloadTimeoutMiddleware
|