Requests模块中持续性的 Cookie 会话

Requests模块有如下优点:

  • 国际化域名和 URLs
  • Keep-Alive & 连接池
  • 持续性的 Cookie 会话
  • 类浏览器式的 SSL 加密认证
  • 基本/精简式的身份认证
  • 优雅的键/值 Cookies
  • 自动解压
  • Unicode 编码的响应主体
  • 多段文件上传
  • 连接超时
  • 支持 .netrc
  • 适用于 Python 2.6—3.3
  • 安全的线程使用

其中最吸引我的就是“持续性的 Cookie 会话”功能,它接管了Cookie管理方面的工作,使我们在实现模拟登录时的工作量大大减少。下面我介绍一下如何使用这个特性:

首先建立一个会话:

session = requests.session()

在这之后,如果是get方式打开链接,例如百度,则是:

page = session.get("http://www.baidu.com")

这里的page变量是一个Response对象,page.content即是这个get请求返回的HTML内容。

这时session自动将百度返回的Cookie给记录下来。

post请求同样类似。url,postData,headers,proxy等都可以作为参数,非常方便!

Requests模块本身就是为了易用而生,它的文档也非常简洁。

最近我成功用Requests模块实现了百度的模拟登录,在之后我会用一篇博文来介绍。

时间: 2024-10-24 22:07:22

Requests模块中持续性的 Cookie 会话的相关文章

在requests模块中使用代理发送请求

1. 代理概述 玩爬虫为什么我们不能使用一个固定IP发送请求 你使用一个固定IP发送每秒向对方服务器发送10几个请求,对方认为这样操作不是人干的, 就把你IP给封了 服务器端的人可以根据你IP很快锁定你, 要求你对这种窃取行为赔偿. 代理 正向代理与反向代理 正向代理与反向代理的区别 反向代理: 服务器端知道代理的存在,反向代理是为了保护服务器或负责负载均衡 但是客户端不知道代理的存在的 正向代理: 客户端知道代理的存在,正向代理是为保护客户端,防止追究责任. 但是服务端不知道真实的客户端 2.

requests模块中request函数参数介绍

request.request: 参数: - method:  提交方式:'POST'.'GET'.'PUSH'等等 - url:     提交地址 - params: 在URL中传递的参数,主要用于GET方式提交 ,例如: requests.request( method='GET', url= 'http://www.baidu.com', params = {'k1':'v1','k2':'v2'} ) 提交后如下方式提交到后台: http://www.baidu.com?k1=v1&k2

python之requests模块中的params和data的区别

params的时候之间接把参数加到url后面,只在get请求时使用: 1 import requests 2 url='https://api.ireaderm.net/account/charge/info/android' 3 data={'recharge':36,'fee_id':'ireader_nonrenew_vip'} 4 header={ 5 'X-ZY-Timestamp':'1502097587609', 6 'X-ZY-Sign':'xxxxxxxxxxxxxxxxxxx

requests模块中返回的content和text的区别

test 类型:str 解码类型:根据HTTP头部响应的编码做出有根据的推测,推测的文本编码. 改变编码的方式:response.encoding=”gbk” 用途:response.text返回的是Unicode型数据:一般用来获取文本response.text: content 类型:bytes 解码类型:没有指定 修改编码的方式:response.content.decode(“utf8”) 用途:response.content返回的是bytes类型,也就是二进制数据:用来获取图片,文件

爬虫简介和requests模块

目录 爬虫介绍 requests模块 requests模块 1.requests模块的基本使用 2.get 请求携带参数,调用params参数,其本质上还是调用urlencode 3.携带headers,请求头是将自身伪装成浏览器的关键 4.带cookie 5.发送post请求(注册,登陆),携带数据(body) 6.session对象 7.响应对象 8.乱码问题 9.解析json 10.使用代理 11.异常处理 12.上传文件(爬虫用的比较少,一般用于后台写服务,将爬取下来的文件上传给其他服务

Python 学习之路 - 模块概念,模块中的特殊变量,os、sys模块

模块概念 1 #注意:自定义的模块名不与标准模块名相同,若相同只会导入自定义模块 2 #单模块并在同一目录下: 3 #直接用 import 模块名,调用时用 模块名.方法名() 4 #嵌套在其他文件夹下: 5 #from xxx import xxx as 别名 6 import example 7 import lib.commons 8 from lib import commons as lib_commons 9 from src import commons as src_common

python requests模块session的使用建议及整个会话中的所有cookie的方法

话不多说,直接上代码 测试代码 服务端 下面是用flask做的一个服务端,用来设置cookie以及打印请求时的请求头 # -*- coding: utf-8 -*- from flask import Flask, make_response, request app = Flask(__name__) @app.route('/a1') def a1(): print(request.headers) rp = make_response() rp.set_cookie('a1', '123'

python接口测试中—Requests模块的使用

Requests模块的使用 中文文档API:http://2.python-requests.org/en/master/ 1.发送get.post请求 import requests reponse = requests.get("http://www.baidu.com") reponse = requests.post("http://www.baidu.com") 2.响应的属性 查看响应内容 response.text 属性 respone.content

25-3 requests模块的cookie和代理操作

一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三"人人网"个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import requests 4 if __name__ == "__main__": 5 6 #张三人人网个人信息页面的url 7 url