python爬虫requests发送post数据提交常见的三种方式及请求实现
三种方式:
(1)最常见的post提交数据以form表单为主:application/x-www-form-urlencoded
提交方式:
data={'k1':'v1','k2':'v2'}
(2)以json格式提交数据:application/json
Content-Type:application/json
data=json.dumps({'k1':'v1','k2':'v2'})
(3)一般用来传文件(爬虫很少用到):multipart/form-data
Content-Type:multipart/form-data
files = {'files':open('c://xxx.txt','rb')}
查看方式:
浏览器检查 → Network →选择加载文件 → Headers → Reuqest Headers → Content-Type
post请求实现:
(1)Content-Type:application/x-www-form-urlencoded
data={'k1':'v1','k2':'v2'}
requests.post(url = url,headers = headers,data = data)
(2)Content-Type:application/json
data=json.dumps({'k1':'v1','k2':'v2'})#将python的dict转json数据
requests.post(url = url,headers = headers,data = data)
(3)Content-Type:multipart/form-data
files = {'files':open('c://xxx.txt','rb')}#文件路径自定义
requests.post(url = url,headers = headers,files = files)