requests模块是python的第三方模块,用来发送网络请求,常用于爬虫,能够够完全满足基于HTTO协议的接口测试(Http 1.1 )
requests模块的安装
安装: pip install requests
验证: pip show requests
其他请求模块:
urllib(古董)
requests(好用): 同步,阻塞模块
aiohttp: 一步请求模块
-
请求方式: requests.请求方法()
-
URL定义: URL是请求的地址,是一个字符串形式的数据
做接口测试时,URL应该是接口地址
-
params是URL后面拼接的查询参数,params是以键值对的形式出现的
-
比如 pms = {'wd' : 'value'}
-
传参: requests.get(url,params=pms)
-
body: 请求体,请求体一般用在 post/put/patch等方法中
-
body 数据一般都是键值对形式的字典
-
使用post 方法时, data 传递表单格式的数据, json传递的是json形式的数据(Content-Type application/json)
-
响应数据的类型:
-
res.text: 响应数据的文本形式
-
res.json(): json数据格式转化为python基础数据类型
-
res.content: 获取响应数据的二进制流形式(图片或视频)
-
requests做状态保持
-
在headers 中加入cookie 即可
-
使用session----状态保持
-
步骤:
-
导包 from requests import Session
-
实力化 session对象: sesson = Session()
-
请求时使用session对象, 不在使用requests, 要使用session.get()
-
注意事项: 要想一直保持状态,中间不可间断,要一直用session请求
-
使用base64编码
-
导包 import base64 import json
-
将数据json.dumps 转换为字符串形式
-
然后将数据格式转换为bytes 形式,再讲数据进行编码处理
请求方式: requests.请求方法()
URL定义: URL是请求的地址,是一个字符串形式的数据
做接口测试时,URL应该是接口地址
params是URL后面拼接的查询参数,params是以键值对的形式出现的
-
比如 pms = {'wd' : 'value'}
-
传参: requests.get(url,params=pms)
body: 请求体,请求体一般用在 post/put/patch等方法中
-
body 数据一般都是键值对形式的字典
-
使用post 方法时, data 传递表单格式的数据, json传递的是json形式的数据(Content-Type application/json)
响应数据的类型:
-
res.text: 响应数据的文本形式
-
res.json(): json数据格式转化为python基础数据类型
-
res.content: 获取响应数据的二进制流形式(图片或视频)
requests做状态保持
-
在headers 中加入cookie 即可
使用session----状态保持
-
步骤:
-
导包 from requests import Session
-
实力化 session对象: sesson = Session()
-
请求时使用session对象, 不在使用requests, 要使用session.get()
-
注意事项: 要想一直保持状态,中间不可间断,要一直用session请求
-
使用base64编码
-
导包 import base64 import json
-
将数据json.dumps 转换为字符串形式
-
然后将数据格式转换为bytes 形式,再讲数据进行编码处理
-
注意: 不能直接将json数据进行转换,先转换为字符串类型,转换为bytes形式在编码
9.使用base64解码
1.将编码的数据进行解码 base64.b64decode(数据)
2.数据解码后是bytes格式
3.直接将数据json.loads() 转化为json 格式即可
MD5 加密
1.加密字符串
-
一般不可被破解,安全
-
导包 import hashlib
-
将数据转化为字节类型(bytes)
-
hashlib.md5(数据) 即可
2.加密文件
1.文件的权限要使用二进制流的方式( br )
爬取图片:
目录
requests模块的安装
爬取图片:



