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多进程操作实例
Nov 21 Python
Python访问纯真IP数据库脚本分享
Jun 29 Python
python自带的http模块详解
Nov 06 Python
简单谈谈Python中的json与pickle
Jul 19 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
python回调函数中使用多线程的方法
Dec 25 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python flask安装和命令详解
Apr 02 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
Python实现自动打开电脑应用的示例代码
Apr 17 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
php4的彩蛋
2006/10/09 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
php验证手机号码
2015/11/11 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
js友好的时间返回函数
2016/08/24 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
js根据需要计算数组中重复出现某个元素的个数
2019/01/18 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
深入理解Django-Signals信号量
2019/02/19 Python
python读取与处理netcdf数据方式
2020/02/14 Python
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
护理自荐信范文
2013/10/05 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
伦敦奥运会口号
2014/06/13 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
党支部鉴定意见
2015/06/02 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
销售会议开幕词
2016/03/04 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
python自动化之如何利用allure生成测试报告
2021/05/02 Python