基于tldextract提取URL里的子域名、主域名、顶级域

TLD是TopLevel Domain的缩写。‌tldextract‌ 是一个用于从URL中提取子域、主域名和顶级域(TLD)的Python库。它利用公共后缀列表(Public Suffix List)来确保即使是复杂或不常见的URL结构也能被正确解析。tldextract能够处理包括ICANN管理的公共TLD以及可选的私有域名,帮助开发者准确地分离出URL的各个部分,尤其是在处理多层子域时,避免了简单的字符串分割带来的错误‌。

安装

bash 复制代码
pip install tldextract

示例

python 复制代码
import tldextract

result = tldextract.extract("https://baijiahao.baidu.com/s?id=1821824643075404089")
print(result)
print(result.subdomain)  # 输出子域名
print(result.domain)    # 输出主域名
print(result.suffix)    # 输出顶级域

# ExtractResult(subdomain='baijiahao', domain='baidu', suffix='com', is_private=False)
# baijiahao
# baidu
# com

命令行模式

bash 复制代码
$tldextract
usage: tldextract [-h] [--version] [-j] [-u]
                  [--suffix_list_url SUFFIX_LIST_URL] [-c CACHE_DIR] [-p]
                  [--no_fallback_to_snapshot]
                  [fqdn|url ...]

$tldextract "http://www.baidu.com"
www baidu com

相关链接

https://github.com/john-kurkowski/tldextract

相关推荐
forest_091 分钟前
多 Agent 协作第二课:交叉验证≠独立验证
人工智能·python·算法·机器学习·prompt·agi
databook3 小时前
时间序列数据,先拆规律还是先查异常
python·数据挖掘·数据分析
师夷长技以自愈4 小时前
手搓 AI Agent 第 8 篇:从手写循环到画流程图——LangGraph 封装
人工智能·python
aifannihao5 小时前
Rust 1.100 的 DropGuard:用 Python 实测失败回滚与吞异常
python·rust·异常处理·标准库·contextlib
用户019027581616 小时前
天勤 tqsdk 能做 A 股行情吗?期货强项与股票数据选型
python
2601_967979128 小时前
pip在Python中的9个必须知道的用法
python·pip·版本控制·包管理工具·requirements.txt
曲径海盗8 小时前
【Python 学习第 58 天】列表方法
python·学习笔记·编程入门
DeepVisionary8 小时前
Runway开源机器人大模型Praxis-1,推演延迟压到62毫秒
python·自动化
Cooper2510 小时前
DDC 命令成功但屏幕不动:用 gamma 表重做亮度映射
python·mac
师夷长技以自愈10 小时前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python