【Python技能树共建】Python爬虫模拟登录 r16

举报
梦想橡皮擦 发表于 2022/05/23 17:56:05 2022/05/23
【摘要】 Python 爬虫模拟登录Python 爬虫模拟登录是使用脚本实现自动登录,部分站点需要逆向加密逻辑,更多的站点会采用验证码进行鉴权验证。本文为大家带来最简单的登录,其核心用到的是 requests 模拟 POST 请求。本次练习使用的站点是 https://www.lanqiao.cn/,可以提前注册一个账号。因该站点无验证码,所以不需要解决验证码逻辑。 怎么用 上手案例通过浏览器的开发...

Python 爬虫模拟登录

Python 爬虫模拟登录是使用脚本实现自动登录,部分站点需要逆向加密逻辑,更多的站点会采用验证码进行鉴权验证。

本文为大家带来最简单的登录,其核心用到的是 requests 模拟 POST 请求。

本次练习使用的站点是 https://www.lanqiao.cn/,可以提前注册一个账号。

因该站点无验证码,所以不需要解决验证码逻辑。

怎么用

上手案例

通过浏览器的开发者工具,抓取登录操作的请求地址和参数逻辑,得到下述信息。

请求参数如下所示:

{ "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 池,你可以顺着这个思路学习。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。