深入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进行传的时候就不需要进行转换
posted @ 2019-08-06 20:49  小小咸鱼YwY  阅读(1771)  评论(0编辑  收藏  举报