Appearance
Url 解析
- 对 url 进行解析,获取其中的参数、路径、域名等信息。
解码
- 一般情况下,url 中包含的参数是经过编码的,需要进行解码。
python
import urllib.parse
url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%89%93%E7%9A%84"
# 解码
decoded_url = urllib.parse.unquote(url)
print(decoded_url) # https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=打的编码
- 特殊参数需要进行编码如中文,否则会导致 url 解析错误。
python
import urllib.parse
url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=打的"
# 编码
encoded_url = urllib.parse.quote(url,safe = ":/?=&")
print(encoded_url) # https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E6%89%93%E7%9A%84解析
python
import urllib.parse
url = 'https://www.baidu.com/s?wd=python'
# 解析
parsed_url = urllib.parse.urlparse(url)
print(parsed_url)
print(parsed_url.scheme) # 请求协议 如https
print(parsed_url.netloc) # 域名
print(parsed_url.path) # 路径
print(parsed_url.params) # 参数
print(parsed_url.query) # 查询字符串