WHAGW URL实时标准的Python实现
项目描述
whatwg-url
WHAGW URL实时标准的Python实现。
此软件包实现的最新标准版本是2018年8月7日(提交49060c7
)
入门
使用pip安装whatwg-url
软件包。
python -m pip install whatwg-url
然后像这样使用模块
import whatwg_url
url = whatwg_url.parse_url("https://www.google.com")
print(url)
# Url(scheme='https', hostname='www.google.com', port=None, path='', query='', fragment='')
功能
与urllib.parse.urlparse()
兼容
import whatwg_url
parseresult = whatwg_url.urlparse("https://seth:larson@www.google.com:1234/maps?query=string#fragment")
print(parseresult.scheme) # 'https'
print(parseresult.netloc) # 'www.google.com:1234'
print(parseresult.userinfo) # 'seth:larson'
print(parseresult.path) # '/maps'
print(parseresult.params) # ''
print(parseresult.query) # 'query=string'
print(parseresult.fragment) # 'fragment'
print(parseresult.username) # 'seth'
print(parseresult.password) # 'larson'
print(parseresult.hostname) # 'www.google.com'
print(parseresult.port) # 1234
print(parseresult.geturl()) # 'https://seth:larson@www.google.com:1234/maps?query=string#fragment'
URL标准化
WHAGW URL规范描述了将URL输入标准化为可使用URL的方法。它处理百分编码、默认端口、路径、IPv4和IPv6地址、IDNA(2008年和2003年)、方案后的多个斜杠等。
import whatwg_url
print(whatwg_url.normalize_url("https://////www.google.com")) # https://www.google.com
print(whatwg_url.normalize_url("https://www.google.com/dir1/../dir2")) # https://www.google.com/dir2
print(whatwg_url.normalize_url("https://你好你好")) # https://xn--6qqa088eba/
print(whatwg_url.normalize_url("https://0Xc0.0250.01")) # https://192.168.0.1/
URL验证
print(whatwg_url.is_valid_url("https://www.google.com")) # True
print(whatwg_url.is_valid_url("https://www .google.com")) # False
相对URL
HTTP重定向通常包含相对URL(通过Location
标题),需要应用于当前URL位置。指定base
参数允许将相对URL作为输入,并将更改应用于新的URL
对象。
import whatwg_url
url = whatwg_url.parse_url("../dev?a=1#f", base="https://www.google.com/maps")
print(url.href) # https://www.google.com/dev?a=1#f
URL属性修改器
修改URL
对象上的属性使用解析器和“状态覆盖”来正确修改URL
对象。
url = whatwg_url.parse_url("http://www.google.com:443")
print(url.scheme) # 'http'
print(url.port) # 443
url.scheme = 'https'
print(url.scheme) # 'https'
print(url.port) # None
“可分割”
该模块是一个单独的文件,允许轻松将其集成到项目中。
许可证
变更日志
2018.8.26
添加
- 添加了
UrlParser
和Url
- 添加了
UrlParser.parse_host()
- 添加了
UrlParser.parse_ipv4_host()
- 添加了
Url.origin
- 添加了
Url.authority
- 将
urlparse
和urljoin
添加以兼容urllib3.parse.urlparse
和urllib.parse.urljoin
- 支持 Python 2.7、3.4 和 3.5
项目详情
关闭
whatwg-url-2018.8.26.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a4d59cc99bf6ab5967f140316dd9bb4daf6cdb18581895ef423dd54f7b41f43b |
|
MD5 | 4850c9eed025f946bbfd19c3f618ea2f |
|
BLAKE2b-256 | 3634c001514dbe3cc0bf6022dde46a56dc21c3e3f8208036baf8ab995a3df7a3 |