{site_name}

{site_name}

🌜 搜索

Python中的urllib.parse模块是用来处理URLs的工具包

Python 𝄐 0
python urllib.parse.urlencode
Python中的urllib.parse模块是用来处理URLs的工具包。它提供了一些函数,用于解析、合并和规范化URLs,并对URLs中的参数进行编码和解码。

以下是Python urllib.parse模块的一些常用函数及其用途:

- urllib.parse.urlparse(urlstring, scheme='', allow_fragments=True):将给定的URL字符串解析为6个组件(scheme、netloc、path、params、query、fragment),返回一个ParseResult对象。

python
from urllib.parse import urlparse

url = 'https://www.example.com/path/to/page.html?foo=bar#myhash'
result = urlparse(url)

print(result.scheme) # 输出 https
print(result.netloc) # 输出 www.example.com
print(result.path) # 输出 /path/to/page.html
print(result.params) # 输出 ''
print(result.query) # 输出 foo=bar
print(result.fragment) # 输出 myhash


- urllib.parse.urlunparse(parts):接受一个长度为6的元组或可迭代对象作为参数,将其转换为字符串形式的URL。

python
from urllib.parse import urlunparse

parts = ('https', 'www.example.com', '/path/to/page.html', '', 'foo=bar', 'myhash')
url = urlunparse(parts)

print(url) # 输出 https://www.example.com/path/to/page.html?foo=bar#myhash


- urllib.parse.urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus):将字典或列表类型的查询参数编码为字符串,并进行URL编码。如果字典的value是列表类型,而doseq=True,则会对每个元素进行编码。

python
from urllib.parse import urlencode

query_dict = {'foo': 'bar', 'baz': ['qux', 'quux']}
query_string = urlencode(query_dict, doseq=True)

print(query_string) # 输出 foo=bar&baz=qux&baz=quux


- urllib.parse.quote(string, safe='/', encoding=None, errors=None):将给定的字符串进行URL编码,用于在URL中转义特殊字符。

python
from urllib.parse import quote

string = 'Hello, world!'
encoded_string = quote(string)

print(encoded_string) # 输出 Hello%2C%20world%21


这些是Python urllib.parse模块中最常用的一些函数和方法。