3
我有一个Scrapy蜘蛛它擦伤一个网站,该网站需要刷新令牌能够访问它们。等待请求完成 - Python的Scrapy
def get_ad(self, response):
temp_dict = AppextItem()
try:
Selector(response).xpath('//div[@class="messagebox"]').extract()[0]
print("Captcha found when scraping ID "+ response.meta['id'] + " LINK: "+response.meta['link'])
self.p_token = ''
return Request(url = url_, callback=self.get_p_token, method = "GET",priority=1, meta = response.meta)
except Exception:
print("Captcha was not found")
我有一个get_p_token
方法刷新令牌,并分配给self.p_token
get_p_token
当发现验证码是所谓的,但问题是,其他请求继续执行。
我想是直到get_p_token
执行完毕,如果验证码被发现,不作下一个请求。
我有priority=1
但于事无补。
P.S:
实际上该令牌被传递到每个URL所以这就是为什么我要等到一个新的令牌被发现,然后刮网址的其余部分。
这就是我已经在做的事情。但我在'get_p_token'方法内部调用了相同的'get_ad'方法...查看完整代码http://pastebin.com/X6Q4ZFp2 – Umair