python之requests.session()使用
背景:使用requests.session会话对象先登录至豆瓣网,再进入“我的豆瓣”。
首先说一下,为什么要进行会话保持的操作?
requests库的session会话对象可以跨请求保持某些参数。
说白了,就是比如你使用session成功的登录了某个网站,则再次使用该session对象对该网站的其他网页访问时都会默认使用该session之前使用的cookie等参数。
【准备工作】
1、先在浏览器正常登录豆瓣,并进入“我的豆瓣”,且通过Fiddler工具抓取相应的url和请求体;
2、查看页面的编码格式,避免出现中文乱码。
'''
通过Fiddler抓取豆瓣登录、我的主页网址
url1: 豆瓣登录网址
url2: 我的主页网址
''' import requests
url1 = "https://accounts.douban.com/j/mobile/login/basic"
url2 = "https://www.douban.com/people/xxxx/" # 通过Fiddler抓取请求头
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0"
} # 通过Fiddler抓取请求体(没想到抓到的密码竟然未加密?)
payload = {
'ck': "",
'name': "xxxxx",
'password': 'xxxx',
'remember': 'false',
'ticket': '',
}
# 初始化requests.sessionh()会话对象
session = requests.session()
response1 = session.get(url=url1, headers=header, verify=False)
response2 = session.post(url=url1, headers=header, data=payload, verify=False)
# print(response2.text) if response2.status_code == 200:
# verify=False:关闭requests证书验证
response3 = session.get(url=url2, headers=header, verify=False)
# 在"我的主页"中右键"查看元素",发现<head>中charset='utf-8',所以设置写入文件的编码格式,否则乱码
with open("douban.html", 'w', encoding = "utf-8") as file:
file.write(response3.text)
douban.html文件的部分内容:

参考:https://blog.csdn.net/weixin_42575020/article/details/95179840
python之requests.session()使用的更多相关文章
- python中requests.session的妙用
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 1.requests库的session对象能够帮我们跨请求保持某些参数,也会在 ...
- 【Python数据分析】Python模拟登录(一) requests.Session应用
最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...
- Python之requests模块-session
http协议本身是无状态的,为了让请求之间保持状态,有了session和cookie机制.requests也提供了相应的方法去操纵它们. requests中的session对象能够让我们跨http请求 ...
- 使用Python的requests库进行接口测试——session对象的妙用
from:http://blog.csdn.net/liuchunming033/article/details/48131051 在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有 ...
- Python爬虫 —— 知乎之selenium模拟登陆获取cookies+requests.Session()访问+session序列化
代码如下: # coding:utf-8 from selenium import webdriver import requests import sys import time from lxml ...
- Python:requests:详解超时和重试
网络请求不可避免会遇上请求超时的情况,在 requests 中,如果不设置你的程序可能会永远失去响应.超时又可分为连接超时和读取超时. 连接超时 连接超时指的是在你的客户端实现到远端机器端口的连接时( ...
- python中requests的用法总结
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求 本文全部来源于官方文档 http://docs ...
- python之requests 乱七八糟
1.预配置 import requests ss = requests.Session() ss.headers.update({'user-agent':'Mozilla/5.0 (Windows ...
- python之requests urllib3 连接池
0.目录 1.参考 2. pool_connections 默认值为10,一个站点主机host对应一个pool (4)分析 host A>>host B>>host A pag ...
随机推荐
- SourceTreet提交时显示remote: Incorrect username or password ( access token )(4种解决办法)
引言 我因为第一次安装Sources Tree的时候进行破解时(跳过安装时的登录),因为操作失误造成了好多bug,导致Sources Tree不论提交,拉取,获取,都会报remote: Incorre ...
- OAuth2.0分布式系统环境搭建
好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 介绍 OAuth(开放授权)是一 ...
- 【Spring】看了这篇Spring事务原理,我才知道我对Spring事务的误解有多深!
写在前面 有很多小伙伴们留言说,冰河,你能不能写一篇关于Spring事务的文章呢?我:可以啊,安排上了!那还等什么呢?走起啊!! 事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有 ...
- 大数据理论篇HDFS的基石——Google File System
Google File System 但凡是要开始讲大数据的,都绕不开最初的Google三驾马车:Google File System(GFS), MapReduce,BigTable. 为这一切的基 ...
- cannot find package "cloud.google.com/go/compute/metadata"
问题: cannot find package "cloud.google.com/go/compute/metadata" 解决: mkdir $GOPATH/src/cloud ...
- Solon详解(四)- Solon的事务传播机制
在前面的篇章里我们已经见识了 Solon 对事务的控制,及其优雅曼妙的形态.该篇将对事务的传播机制做讲解.出于对用户的学习成本考虑,Solon 借签了Spring 的事务传播策略:并友好的支持多数据源 ...
- .NetCore对接各大财务软件凭证API——用友系列(3)
一. 前言 由于前段时间项目比较集中,所以停更了好久,终于来到我们用友的系列产品3---U8Cloud2.7了. 一,2.7和2.5的api方式有什么区别? 1.2.7版本以后可以直接使用u8c登入地 ...
- Helix QAC/QAC++—代码静态测试工具介绍—符合功能安全标准MISRA ISO26262
Helix QAC是静态代码分析工具,依据C和C++编码规则自动扫描代码对规则的违背.开发团队在开发过程的早期就可以用它来检测缺陷,因为此时修改代码是最方便也最经济的.Helix QAC因此自动化强制 ...
- Linux系统下部署项目流程
一.系统架构 linux系统 centOS 6.9 应用服务器:Tomcat /JDK 数据库服务器:MySQL 二.连接远程工具FinalShell 1.Centos 6: 启动服务:service ...
- node_第三方包下载文件package.jon详解
配置原因第三方包的体积过大,不方便团队成员之间共享项目源代码共享时剔除node_modules 快速创建 package.json(只能在英文的目录下成功运行) npm init -y npm i 一 ...