深入requests库params|data|json参数
深入requests库params|data|json参数
一.params
params:字典或者字节序列,作为参数增加到URL中。不仅访问URL,还可以向服务器携带参数。
简单来讲也就是说对于原来的网址进行内容的提交形成新的url
举例演示
data ={
'wd':'ywy',
}
rp = requests.get('https://www.baidu.com/s',params=data)
print(rp.url)
print('-'*200)
rp_1 = requests.get('https://www.baidu.com/s?wd=ywy')
print(rp_1.url)
'''
https://www.baidu.com/s?wd=ywy
---------------------------------------
https://www.baidu.com/s?wd=ywy
'''
二.data|json
与requests.post()进行联用
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json。
常见的form表单可以直接使用data参数进行报文提交,而data的对象则是python中的字典类型;
而在最新爬虫的过程中遇到了一种payload报文,是一种json格式的报文,因此传入的报文对象也应该是格式的;
演示
data={
'xx':'xx'
}
import request
import json
# 1
requests.post(url, data=json.dumps(data))
# 2-json参数会自动将字典类型的对象转换为json格式
requests.post(url, json=data)
#很明显如果是data其格式必须为字符串这时候要进行json模块的转化,而json进行传的时候就不需要进行转换