在python爬虫用浏览器发送请求的时候,如果因url当中包含了中文或者其他的特殊字符实现自动编码,而我们需要发送请求避免自动编码,这时使用urlencode函数可以实现手动编码,除了在构造GET请求参数的时候非常有用,还可以把字典数据转换成为url编码地数据。
1、urlencode()
将字典转换为请求参数,把传入的参数对转换为url标准格式。
2、使用格式
urlencode(query, doseq=False, safe='', encoding=None, errors=None)
3、使用参数
它允许两种形式接受参数
[(key1, value1), (key2, value2),...] {'key1': 'value1', 'key2': 'value2',...}
4、返回格式(字符串)
key2=value2&key1=value1
5、urlencode使用
1)构造GET请求参数
from urllib.parse import urlencode params = { 'name': 'germey', 'age': 22 } base_url = 'http://www.baidu.com?' url = base_url + urlencode(params) print(url) # http://www.baidu.com?name=germey&age=22
2)使用 urlencode() 函数可以将一个 dict 转换成合法的查询参数
dict1 = {'key1': 'one', 'key2': 3, 'key3': '中国', 'key4': '加油' } # 字典类型 import urllib.parse print( urllib.parse.urlencode(dict1) )
输出
key1=one&key2=3&key3=%E4%B8%AD%E5%9B%BD&key4=%E5%8A%A0%E6%B2%B9
以上就是Python爬虫中urlencode()函数的作用,大家如果想要构造GET请求参数或者把字典数据转换成为url编码地数据,可是使用urlencode()函数哦~。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试