params = {"key1": "value1", "key2": "value2"}
headers要求头部信息,在非API的情形下,要求头比不可少,常日User-Agent、Accept、Cookie等信息,包含信息越多,要求成功的几率越大:
headers = {"User-Agent": "", "Accept":"", "Cookie":"", }
在API要求的情形下,设置Authorization信息
headers = {'Authorization': f'Bearer {access_token}'}
如果url本地访问不了须要科学上网才能访问,这时候就须要设置代理(条件是本地已经搭好了梯子,21881是本地梯子的端口号须要自己去查询)

proxies = { 'http': 'socks5://127.0.0.1:21881', 'https': 'socks5://127.0.0.1:21881'}
三、response = requests.post()3.1 参数解析:url: 要求的url,必填;data: 选填,要求参数;json: 选填,要求参数;kwargs:选填,可以传入headers、cookies等。
post要求参数到底是传data还是json,这时候我们要看要求头里的content-type类型(详细参照接口文档,没有接口文档的抓包)。
如果要求头中content-type为application/json, 为json形式,post要求利用json参数。如果要求头中content-type为application/x-www-form-urlencoded,为表单形式,post要求时利用利用data参数。要求类型为application/json,如果想用data传参,须要将字典类型数据转换为json字符串。
3.2 案例:利用gitee的API创建pull requesturl:
url = f"https://gitee.com/api/v5/repos/{owner}/{repo_name}/pulls"
设置headers:
headers = { "Authorization": f"Bearer {access_token}" }
设置data:
data = { "title": title, "head": head, "base": base }
发送要求:
resp = requests.post(url, headers=headers, data=data)
作者简介:
读研期间揭橥6篇SCI数据算法干系论文,目前在某研究院从事数据算法干系研究事情,结合自身科研实践经历不定期持续分享关于Python、数据剖析、特色工程、机器学习、深度学习、人工智能系列根本知识与案例。致力于只做原创,以最大略的办法理解和学习,关注gzh:数据杂坛,获取数据和源码学习更多内容。
原文链接:
【Python数据采集系列】一文解读requests.get()和requests.post()的差异