在python爬虫登录豆瓣时候,遇到登录验证码的处理问题时,有三种验证码处理方式。首先获取登录页面,将验证码图片下载下来,利用三种不同验证码识别的方法来获取验证码,然后登录:
def start_requests(self):
yield scrapy.Request(
self.login_url,
callback=self.parse_login
)
#解析登录页面,得到验证码链接
def parse_login(self,response):
captcha_url = response.xpath('//img[@id="captcha_image"]/@src').extract_first()
yield scrapy.Request(
captcha_url,
meta={'login_response':response},
callback=self.login
def login(self,response):
login_response = response.meta.get('login_response')
captcha_data = response.body
#遍历验证码识别方式,直到一种可以识别出来的方式
for method in [self.get_captcha_by_self(captcha_data)]:
#for method in ['self.g