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原始套接字编程示例分享
Feb 21 Python
python采集百度百科的方法
Jun 05 Python
Python面向对象特殊成员
Apr 24 Python
Python yield 使用方法浅析
May 20 Python
python Flask实现restful api service
Dec 04 Python
Python中常用的8种字符串操作方法
May 06 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
python 有效的括号的实现代码示例
Nov 11 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 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
文章推荐系统(三)
2006/10/09 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
简单实现python画圆功能
2018/01/25 Python
Python进程间通信Queue实例解析
2018/01/25 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
python with (as)语句实例详解
2020/02/04 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
keras的三种模型实现与区别说明
2020/07/03 Python
Python实现画图软件功能方法详解
2020/07/28 Python
采用怎样的方法保证数据的完整性
2013/12/02 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
火山动力Java笔试题
2014/06/26 面试题
大学生村官任职感言
2014/01/09 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
考研导师推荐信范文
2015/03/27 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
反邪教学习心得体会
2016/01/15 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js