parse.urlencode
时间: 2024-10-14 14:06:48 浏览: 31
`parse.urlencode()` 是Python标准库`urllib.parse`中的一个函数,用于将字典或元组中的键值对编码为URL查询字符串。当你需要构造包含特殊字符(如空格、逗号)的参数时,这很有用,因为它会将这些字符转换为 `%xx` 格式的安全编码。
举个例子,如果你想从用户输入构建一个包含贴吧名的URL,你可以这样做[^1]:
```python
from urllib.parse import urlencode
# 提示用户输入贴吧名
bar_name = input("请输入要爬取的贴吧名: ")
# 使用urlencode编码
encoded_url = "http://tieba.baidu.com/f?kw=" + urlencode({"kw": bar_name})
print(f"编码后的URL: {encoded_url}")
```
在这个例子中,如果用户输入 "lol",最终的URL将会是 `http://tieba.baidu.com/f?kw=lol%20%22l%2Bl%2B%22`。
而`parse.unquote()` 则是相反的过程,它接收编码后的URL并将其解码回原始的键值对。
如果你已经有编码后的URL,想把它还原,可以这样操作:
```python
decoded_params = parse.unquote(encoded_url.split('?', 1)[1])
decoded_dict = dict([param.split('=', 1) for param in decoded_params.split('&')])
print(f"解码后的键值对: {decoded_dict}")
```
这将返回一个字典,比如 `{ 'kw': 'lol' }`。
阅读全文