request.post

requests.post

requests.post(url, data=None, json=None, **kwargs)

参数类型描述
url字符串请求的网页,对应的是form的action属性的值,而不是form所在的页面
dataform提交的数据key是form的name属性对应的值,value是所填入的值,通过chrome审查元素(inspector)
jsonjson格式的数据注意看请求过程中是否出现Content-Type: application/json,json参数其实是data的一个快捷方式,在data参数中传入json.dumps(dict)是同一个效果
**kwargs其他的参数比如headers

1.表单请求
1.from表单

<form method="post" action="processing.php">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
<input type="submit" value="Submit">
</form>

2.request请求

import requests
params = {'firstname': 'Ryan', 'lastname': 'Mitchell'}
r = requests.post("http://pythonscraping.com/files/processing.php", data=params)

2.提交文件
2.1.form

<form action="processing2.php" method="post" enctype="multipart/form-data">
Submit a jpg, png, or gif: <input type="file" name="uploadFile"><br>
<input type="submit" value="Upload File">
</form>

2.2.python

import requests
files = {'uploadFile': open('../files/Python-logo.png', 'rb')} #这里提交的python文件对象(字节)
r = requests.post("http://pythonscraping.com/pages/processing2.php",
files=files)

3.处理cookie
3.1.人工方法获得cookie

import requests
params = {'username': 'Ryan', 'password': 'password'}
r = requests.post("http://pythonscraping.com/pages/cookies/welcome.php", params) # 第一次请求获得的cookie
print("Cookie is set to:")
print(r.cookies.get_dict())
r = requests.get("http://pythonscraping.com/pages/cookies/profile.php",
cookies=r.cookies) # 用上一次的请求所获得的cookie
print(r.text)

3.2.session回话保存cookie

import requests
session = requests.Session() # 新建一个回话,他会保存每次访问的cookie,header等HTTP协议信息,不必每次手动提交cookie
params = {'username': 'username', 'password': 'password'}
s = session.post("http://pythonscraping.com/pages/cookies/welcome.php", params)
print("Cookie is set to:")
print(s.cookies.get_dict())

print("Going to profile page...")
s = session.get("http://pythonscraping.com/pages/cookies/profile.php")
print(s.text)

参考文献:
python网络数据采集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值