当前位置: 首页 > news >正文

Python爬虫 模拟登录状态 requests版

前言

网站必须是登录状态才能查看网站信息,是最常见的反爬手段,下面我分享一下request模拟登录状态进行请求

目录

模拟登录的原理

直接复制网站Cookie模拟登录状态

通过登录接口信息破解出Cookie模拟登录状态


模拟登录的原理

网站是使用Cookie和session记录网站的登录状态的

常见有三种情况

情况一

        直接把用户信息放到Cookie里面,明文暴露用户信息,不安全,一般很少网站使用

情况二

        网站通过session对用户信息进行键值对的方式进行存储,sesionID和用户信息,cookie存储的是sessionID,后台通过cookie存储的sessionID来对用户信息进行寻找

情况三

        分布式情况下,后台把用户信息存储到Redis里面了,原理和情况二一样

其他情况加入反爬加密,需要自己解密了

总结: 无论他是使用那种情况开发登录功能,一般登录状态的信息在请求头cookie或者Authorization里面

所以我们在request请求的时候拿到网站Cookie或者Authorization就可以保证网站的登录状态了,也就模拟了用户登录

直接复制网站Cookie模拟登录状态

这种适合自己临时使用,因为Cookie会变,这样获取肯定不能长时间使用

找到你需要请求的接口,找到Cookie的字符串

 

import requests#添加请求头用户代理,模拟真人行为
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
}cookies = '在网页上面获取的cookie字符串'#处理Cookie字符串可以放到request里面使用
cookies = {item.split('=')[0]: item.split('=')[1] for item in cookies.split("; ")}
cookies = requests.utils.cookiejar_from_dict(cookies)url = "请求网址"response = requests.get(url, headers=headers, cookies=cookies)#得到网页源代码
print(response.text)

通过登录接口信息破解出Cookie模拟登录状态

这种就是先使用这个网站的登录接口进行登录,看返回的信息里面一般是有生成Cookie信息的原材料

如果网站没有反爬机制,就直接把Cookie信息给你了,如果有反爬机制,他会把返回的Cookie信息进行加密处理什么的,那么就需要自己自行探索了

拿到Cookie信息,后面就和《直接复制网站Cookie模拟登录状态》步骤一样了

http://www.lryc.cn/news/579973.html

相关文章:

  • Vue2中的keep-alive:组件状态缓存与性能优化实战指南
  • Linux 如何上传本地文件以及下载文件到本地命令总结
  • Linux探秘坊-------13.进程间通信
  • 五、Flutter动画
  • 【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
  • 【Git】git命令合集
  • 网安系列【4】之OWASP与OWASP Top 10:Web安全入门指南
  • Rust 闭包
  • 暴雨服务器成功中标华中科技大学集成电路学院服务器采购项目
  • 封装一个png的编码解码操作
  • 数据库位函数:原理、应用与性能优化
  • 企业该怎么做竞争分析?一文了解
  • Linux-进程概念(3)
  • 【WEB】Polar靶场 6-10题 详细笔记
  • 类图+案例+代码详解:软件设计模式----原型模式
  • vue3 el-table 行筛选 设置为单选
  • 电商分拣的“效率密码”:艾立泰轻量化托盘引领自动化流水线革新
  • vue3 获取选中的el-table行数据
  • 【WRFDA第三期】OBSPROC namelist 变量总结
  • Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
  • OpenCV中DPM(Deformable Part Model)目标检测类cv::dpm::DPMDetector
  • 前端基础知识Webpack系列 - 03(webpack中常见的Loader?解决了什么问题?)
  • STM32CubeMX教程1 实现点灯点灯
  • 量化开发(系列第3篇): C++在高性能量化交易中的核心应用与技术栈深度解析
  • 三态逻辑详解:单片机GPIO、计算机总线系统举例
  • 【python实用小脚本-128】基于 Python 的 Hacker News 爬虫工具:自动化抓取新闻数据
  • RK-Android11-性能优化-限制App内存上限默认512m
  • 基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
  • 如何调节笔记本电脑亮度?其实有很多种方式可以调整亮度
  • Mysql+neo4j创建节点和关系