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获取Linux系统下的本机IP地址代码分享
Nov 07 Python
Python的装饰器用法学习笔记
Jun 24 Python
linux环境下的python安装过程图解(含setuptools)
Nov 22 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
python pandas模块基础学习详解
Jul 03 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
Python中的上下文管理器相关知识详解
Sep 19 Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
为什么说python适合写爬虫
Jun 11 Python
Python访问Redis的详细操作
Jun 26 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脚本执行卡住的问题
2016/12/27 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
Python多进程机制实例详解
2015/07/02 Python
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
python全栈开发语法总结
2020/11/22 Python
python 实现控制鼠标键盘
2020/11/27 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
校园标语大全
2014/06/19 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
微信搭讪开场白
2015/05/28 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL