Python技能树共建Python爬虫模拟登录
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python技能树共建Python爬虫模拟登录相关的知识,希望对你有一定的参考价值。
Python 爬虫模拟登录
Python 爬虫模拟登录是使用脚本实现自动登录,部分站点需要逆向加密逻辑,更多的站点会采用验证码进行鉴权验证。
本文为大家带来最简单的登录,其核心用到的是 requests
模拟 POST 请求。
本次练习使用的站点是 https://www.lanqiao.cn/
,可以提前注册一个账号。
因该站点无验证码,所以不需要解决验证码逻辑。
怎么用
上手案例
通过浏览器的开发者工具,抓取登录操作的请求地址和参数逻辑,得到下述信息。
- 请求网址: https://passport.lanqiao.cn/api/v1/login/?auth_type=login&redirect_url=https:%2F%2Fwww.lanqiao.cn%2F
- 请求方法: POST
请求参数如下所示:
"password": "密码", "login_str": "账号", "usertype": 0
基于上述内容,使用 requests
模块复现其代码逻辑即可。
import json
import requests
headers =
"content-type": "application/json",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
my_data = "password": "你的密码", "login_str": "你的账号", "usertype": 0
params = json.dumps(my_data)
res = requests.post('https://passport.lanqiao.cn/api/v1/login/?auth_type=login&redirect_url=https:%2F%2Fwww.lanqiao.cn%2F',
headers=headers, data=params)
print(res.cookies)
print(res.text)
运行代码之后,得到跳转链接和登录之后的用户 cookie,这两个信息很重要,保存在本地可以对接后续操作。
所有的模拟登录,最终都是为了获取用户登录之后的标识字符串,可能为 cookie,也可能为更加复杂一些的,例如 Authorization (服务器 OAUTH2 生成的参数)
扩展场景
很多时候,我们的爬虫模拟登录都是用的自建 cookie 池,你可以顺着这个思路学习。
以上是关于Python技能树共建Python爬虫模拟登录的主要内容,如果未能解决你的问题,请参考以下文章
Python技能树共建python selectolax 模块