Python3 URL解析库 — urlparse

2020-06-10 00:00:00 专区 订阅 代码 付费 复制


docs.python.org/zh-cn/3.8/l…

解析一个 URL 获得各个概念所对应的值在 Python 中显得很简单, Python3 中将 urllib2urlparserobotparse 并入了 urllib 模块中, 所以原本在 Python 导入的方式在 Python3 中应该这样导入:

from urllib.parse import urlparse
复制代码

使用它我们可以获得 ParseResult 对象, 我们可以通过下标或者属性名来访问对象属性:

  • scheme (协议)
  • netloc (域名)
  • path (路径)
  • params (可选参数)
  • query (连接键值对)
  • fragment (特殊锚)
属性名 索引值 说明 空值情况下表达
scheme 0 URL 协议 ""
netloc 1 URL 域名 ""
path 2 URL 请求路径 ""
params 3 URL 可选参数 ""
query 4 URL 键值对参数 ""
fragment 5 URL 特殊锚 ""
username 用户名 None
password 密码 None
hostname 主机名(小写) None
port 如果存在, 则是整数端口号 None

我们测试下这个函数的使用:

#!/usr/bin/env python
# _*_ Coding: UTF-8 _*_
from urllib.parse import urlparse

result = urlparse('https://juejin.im/user/5da32395e51d4578200cc9c5/posts?params=123&username=123')
print(result)
复制代码

输出的结果是:

ParseResult(
    scheme='https', 
    netloc='juejin.im', 
    path='/user/5da32395e51d4578200cc9c5/posts', 
    params='', 
    query='params=123&username=123', 
    fragment=''
)
复制代码

相关文章