Python网络爬虫案例实战:静态网页爬取:发送POST请求
除了GET请求外,有时还需要发送一些编码为表单形式的数据,如在登录的时候请求就为POST,因为如果用 GET请求,密码就会显示在URL 中,这是非常不安全的。如果要实现POST请求,那么只需要简单地传递一个字典给Requests中的data参数,这个数据字典就会在发出请求的时候自动编码为表单形式。例如:
import requests
key_dict={
'keyl':'valuel','key2':'value2'}
r=requests.post('http://httpbin.org/post',data=key_dict)
print(r.text)
运行程序,输出如下:
{
"args": {
},
"data": "",
"files": {
},
"form": {
"key2": "value2",
"keyl": "valuel"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "23",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.31.0",
"X-Amzn-Trace-Id": "Root=1-66b7a1f2-51ec746d13eb41ac1996e4b9"
},
"json": null,
"origin": "171.114.116.160",
"url": "http://httpbin.org/post"
}
可以看到,form变量的值为key_dict输入的值,这样一个POST请求就发送成功了。