scrapy有三种方法模拟登陆方式:
- 直接携带cookies
- 找url地址,发送post请求存储cookie
- 找到对应的form表单,自动解析input标签,自动解析post请求的url地址,自动带上数据,自动发送请求
1、携带cookies登陆github
import scrapy import re class Login1Spider(scrapy.Spider): name = 'login1' allowed_domains = ['github.com'] start_urls = ['https://github.com/NoobPythoner'] # 这是一个需要登陆以后才能访问的页面 def start_requests(self): # 重构start_requests方法 # 这个cookies_str是抓包获取的 cookies_str = '...' # 抓包获取 # 将cookies_str转换为cookies_dict cookies_dict = {i.split('=')[0]:i.split('=')[1] for i in cookies_str.split('; ')} yield scrapy.Request( self.start_urls[0], callback=self.parse, cookies=cookies_dict ) def parse(self, response): # 通过正则表达式匹配用户名来验证是否登陆成功 result_list = re.findall(r'noobpythoner|NoobPythoner', response.body.decode()) print(result_list) pass
注意:
scrapy中cookie不能够放在headers中,在构造请求的时候有专门的cookies参数,能够接受字典形式的coookie
在setting中设置ROBOTS协议、USER_AGENT
2、使用scrapy.FormRequest()登录
通过scrapy.FormRequest能够发送post请求,同时需要添加fromdata参数作为请求体,以及callback
yield scrapy.FormRequest( "https://github.com/session", formdata={ "authenticity_token":authenticity_token, "utf8":utf8, "commit":commit, "login":"****", "password":"****" }, callback=self.parse_login )
3、使用scrapy.Formrequest.from_response登陆github
import scrapy import re class Login3Spider(scrapy.Spider): name = 'login3' allowed_domains = ['github.com'] start_urls = ['https://github.com/login'] def parse(self, response): yield scrapy.FormRequest.from_response( response, # 传入response对象,自动解析 # 可以通过xpath来定位form表单,当前页只有一个form表单时,将会自动定位 formxpath='//*[@id="login"]/form', formdata={'login': '****', 'password': '***'}, callback=self.parse_login ) def parse_login(self,response): ret = re.findall(r"noobpythoner|NoobPythoner", response.text) print(ret)
标签:
scrapy模拟登陆
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“详解使用scrapy进行模拟登陆三种方式”评论...
更新日志
2024年07月03日
2024年07月03日
- 爱浪音响测试碟-《经典传说》2CD[DTS-WAV]
- 群星《情歌1号-2号(紫银合金)4CD》[WAV+CUE]
- 迈克学摇滚《情歌传奇》2CD示范碟/WAV+CUE
- 《星鸣特攻》内容将非常丰富!预告只是冰山一角
- 玩家参与真人快打锦标赛赢了565美元:但又要赔近3000美元
- 《战锤40K:星际战士2》开发者日记:立志无愧于前作
- 暮色饮品怎么做?饮品调酒配方详细一览
- 群星.1992-华纳国语浓情13首【华纳】【WAV+CUE】
- 杨钰莹.1995-因为有你【新时代】【WAV+CUE】
- 许慧欣.2006-谜【上华】【WAV+CUE】
- 绝区零珂蕾妲驱动盘怎么搭配 珂蕾妲驱动盘及词条选择攻略
- 绝区零强袭鸣徽有哪些 绝区零强袭鸣徽效果介绍
- 魔兽世界奥格瑞玛怎么去幽暗城 奥格瑞玛去幽暗城方法介绍
- 《间谍过家家日记大作战》成就攻略一览
- 完美的音乐品质-群星《红酒杯发烧酒廊情歌》2CD[WAV]