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发送Email方法实例
Aug 21 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
详解python函数传参是传值还是传引用
Jan 16 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
JupyterNotebook 输出窗口的显示效果调整方法
Apr 13 Python
python3 sleep 延时秒 毫秒实例
May 04 Python
python中有帮助函数吗
Jun 19 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 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配置心得包含MYSQL5乱码解决
2006/11/20 PHP
织梦模板标记简介
2007/03/11 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
node中的session的具体使用
2018/09/14 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
深入学习python的yield和generator
2016/03/10 Python
简单学习Python time模块
2016/04/29 Python
Python continue继续循环用法总结
2018/06/10 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
用python进行视频剪辑
2020/11/02 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
Django实现简单的分页功能
2021/02/22 Python
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
大一学生的职业生涯规划书范文
2014/01/19 职场文书
教师专业自荐书范文
2014/02/10 职场文书
医院见习报告范文
2014/11/03 职场文书
会议通知
2015/04/15 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
Python Numpy之linspace用法说明
2021/04/17 Python