scrapy框架半自动处理验证码豆瓣网模拟登陆
一、本文要解决的问题
通过爬虫来模拟登陆豆瓣网
解决多次登陆时出现的图片验证码问题
登陆之后,保持登陆状态,对深层次的页面进行爬取。
二、实现思路
- 通过Fiddler进行抓包分析之后,发现了登陆的规律:即向固定的网址POST相关数据,其中可以发现包括用户名和密码。因此,我们可以手动构造要发送的数据:
data = {
"captcha-solution":captchar_value,
"redir": "https://www.douban.com/people/161908529/",
"form_email": "***", #账号
"form_password": "***", #密码
"login": "登录",
}
- 多次登录之后,会出现图片验证码。经过网页分析,可以发现产生图片验证码的地址:
captcha = response.xpath("//img[@id='captcha_image']/@src").extract()
- 考虑到是图片验证码,无法通过简单的方式提取文本。因此