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通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
python检测远程端口是否打开的方法
Mar 14 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
Python机器学习logistic回归代码解析
Jan 17 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
解决python脚本中error: unrecognized arguments: True错误
Apr 20 Python
flask项目集成swagger的方法
Dec 09 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 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使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php实现分页显示
2015/11/03 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
js比较日期大小的方法
2015/05/12 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
web.py在模板中输出美元符号的方法
2014/08/26 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
竞选演讲稿范文
2013/12/28 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
社区党建工作方案
2014/06/10 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android
mysql 获取相邻数据项
2022/05/11 MySQL