Python网络爬虫案例实战:静态网页爬取:传递URL参数
为了请求特定的数据,需要在 URL的查询字符串中加入某些数据。如果你是自己构建URL,那么数据一般会跟在一个问号后面,并且以键-值的形式放在 URL 中,如http://httpbin.org/get?keyl= valuel。
在 Requests中,可以直接把这些参数保存在字典中,用params构建至URL中。例如,将key1= valuel和 key2= value2 传递到http://httpbin.org/get,可以这样编写:
import requests
key_dict={'keyl':'valuel','key2':'value2'}
r=requests.get('http://httpbin.org/get',params=key_dict)
print('URL正确编码:',r.url)
print('字符串方式的响应体:\n',r.text)
通过上述代码的输出结果可以发现 URL 已经正确编码:
URL正确编码: http://httpbin.org/get?keyl=valuel&key2=value2
字符串方式的响应体:
{
"args": {
"key2": "value2",
"keyl": "valuel"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.31.0",
"X-Amzn-Trace-Id": "Root=1-66b5e889-1f34dea61c65d61059fc411a"
},
"origin": "61.136.223.36",
"url": "http://httpbin.org/get?keyl=valuel&key2=value2"
}