解析一个 URL 获得各个概念所对应的值在 Python 中显得很简单, Python3 中将 urllib2、urlparse 和 robotparse 并入了 urllib 模块中, 所以原本在 Python 导入的方式在 Python3 中应该这样导入:
from urllib.parse import urlparse
使用它我们可以获得 ParseResult 对象, 我们可以通过下标或者属性名来访问对象属性:
- scheme (协议)
- netloc (域名)
- path (路径)
- params (可选参数)
- query (连接键值对)
- fragment (特殊锚)
属性名索引值说明空值情况下表达scheme0URL 协议""netloc1URL 域名""path2URL 请求路径""params3URL 可选参数""query4URL 键值对参数""fragment5URL 特殊锚""username用户名Nonepassword密码Nonehostname主机名(小写)Noneport如果存在, 则是整数端口号None我们测试下这个函数的使用:```python#!/usr/bin/env python# * Coding: UTF-8 *from urllib.parse import urlparse
result = urlparse('https://juejin.im/user/2805609406139950/posts?params=123&username=123') print(result)
输出的结果是:
```python
ParseResult(
scheme='https',
netloc='juejin.im',
path='/user/5da32395e51d4578200cc9c5/posts',
params='',
query='params=123&username=123',
fragment=''
)
作者:MedusaSorcerer
链接:https://juejin.im/post/6844904185268273165
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。