scrapy 模拟登陆
2017-05-11 16:10
141 查看
import scrapy import urllib.request from scrapy.http import Request,FormRequest class LoginspdSpider(scrapy.Spider): name = "loginspd" allowed_domains = ["douban.com"] start_urls = ['http://douban.com/'] headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 QIHU 360EE'} def start_requests(self): return [Request('https://www.douban.com/accounts/login',meta={'cookiejar':1},callback=self.parse)] def parse(self, response): # 获取验证码地址 captcha = response.xpath('//img[@id="captcha_image"]/@src').extract() if len(captcha)>0: print('有验证码') localpath = 'D:/Captcha.png' urllib.request.urlretrieve(captcha[0],filename=localpath) print('请查看本地验证码并输入:') captcha_value = input() data = { 'form_email':'83*****81@qq.com', 'form_password':'*****1', 'captcha-solution':captcha_value, 'redir':'https://www.douban.com/people/161282530/', } else: print('没有验证码') data = { 'form_email': '834****81@qq.com', 'form_password': '*****', 'redir': 'https://www.douban.com/people/161282530/', } print('登录中。。。。') return [FormRequest.from_response(response, # meta = {'cookiejar':response.meta['cookiejar']} headers =self.headers, formdata=data, callback = self.next,)] def next(self,response): print('此时已经登录完成并爬取个人中心数据') title = response.xpath('/html/head/title/text()').extract() print(title)
相关文章推荐
- scrapy框架半自动处理验证码豆瓣网模拟登陆
- scrapy 的crawl模板模拟登陆
- python scrapy爬取生物谷之模拟登陆(使用FormRequest)
- 运维学python之爬虫高级篇(六)scrapy模拟登陆GitHub和51cto
- 第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别
- [Scrapy]模拟登陆并获取Cookie值
- 使用scrapy 模拟登陆网站后 抓取会员中心相关信息
- (案例六)三种scrapy模拟登陆策略
- 使用scrapy模拟登陆一般登陆不了的网站[已解决]
- Scrapy中用cookie模拟登陆新浪微博
- Scrapy——模拟登陆爬取github issues
- Scrapy三种模拟登陆策略
- [Scrapy]模拟登陆并获取Cookie值
- 【scrapy】模拟登陆知乎
- python3 scrapy模拟登陆豆瓣
- 豆瓣学习 --模拟http 操作 登陆等
- java模拟登陆博客园
- qq登陆界面模拟
- .net下模拟不同身份登陆以获取不同权限
- scrapy爬虫实战(四)--------------登陆51job并使用cookies进行爬取