python模拟登陆,用session维持回话的实例


Posted in Python onDecember 27, 2018

python模拟登陆的几种方法

客户端向服务器发送请求,cookie则是表明我们身份的标志。而“访问登录后才能看到的页面”这一行为,恰恰需要客户端向服务器证明:“我是刚才登录过的那个客户端”。于是就需要cookie来标识客户端的身份,以存储它的信息(如登录状态)

1、先在浏览器中登录,然后打开开发者选项,找到一个请求方法为POST的请求,复制Requests Headers中的cookie在爬取需要登录的页面时加上此cookies即可

import requests
url = '......'
headers = {'cookies':'......'}
response = requests.get(url=url, headers=headers)

2、 模拟登录,并用session维持会话,用requests的session模拟登录后session会记录cookies,接下来的请求会被放在同一个会话中。举个简单例子,在 requests 中,如果直接利用 get()或 post()等方法的确可以做到模拟网页的请求,但是这实际 上是相当于不同的会话,也就是说相当于你用了两个浏览器打开了不同的页面。设想这样一个场景,第一个请求利用 post()方法登录了某个网站,第二次想获取成功登录后的自 己的个人信息,你又用了一次 get()方法去请求个人信息页面。 实际上,这相当于打开了两个浏览器, 这是两个完全不相关的会话,能成功获取个人信息吗?那当然不能

import requests
'''
下面的data是先在浏览器中登录,然后打开开发者选项,找到一个请求方法为POST的请求,复制里面的Form Data
'''
url = '......'
data = {
  username:'......',
  password:flz_sanqianchi,
  rememberMe:true,
  lt:LT-82465-9HtQnC7ZASZHohtnQlrqMvXo7cI2B7,
  execution:e1s1,
  }
headers = {'user-agent':'Mozolla/5.0'}
'''
这里用requests的session来请求网页,做到维持同一会话的目的
'''
session = requests.Session()
reqsonse = session.post(url=url, headers=headers, data=data)
'''
接下来就可以请求别的登陆后的页面,而不需要处理cookies
'''
url2 = '这里是已经登录后的某一页面'
response = session.get(url=url2, headers=headers)

以上这篇python模拟登陆,用session维持回话的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的Flask框架实现视频的流媒体传输
Mar 31 Python
python实现字符串和日期相互转换的方法
May 13 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
如何利用Boost.Python实现Python C/C++混合编程详解
Nov 08 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
opencv3/C++图像像素操作详解
Dec 10 Python
适合Python初学者的一些编程技巧
Feb 12 Python
Python decorator拦截器代码实例解析
Apr 04 Python
浅析NumPy 切片和索引
Sep 02 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Python如何识别银行卡卡号?
Jun 10 Python
python requests post多层字典的方法
Dec 27 #Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 #Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 #Python
python 与服务器的共享文件夹交互方法
Dec 27 #Python
通过pykafka接收Kafka消息队列的方法
Dec 27 #Python
python利用thrift服务读取hbase数据的方法
Dec 27 #Python
python hbase读取数据发送kafka的方法
Dec 27 #Python
You might like
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
python GUI实例学习
2017/11/21 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
django用户登录和注销的实现方法
2018/07/16 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
华为慧通面试题
2012/09/11 面试题
如何利用cmp命令比较文件
2013/09/23 面试题
医药大学生求职简历的自我评价
2013/10/17 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫