基于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

相关推荐
程序员阿明几秒前
spring boot3 集成jjwt(java-jwt)版本的
java·spring boot·python
Fleshy数模2 分钟前
基于MediaPipe实现人体姿态与脸部关键点检测
python·opencv·计算机视觉
星马梦缘9 分钟前
jupyter Kernel Disconnected崩溃的修复
ide·python·jupyter
Freak嵌入式17 分钟前
MicroPython LVGL基础知识和概念:显示与多屏管理
开发语言·python·github·php·gui·lvgl·micropython
枕布响丸辣21 分钟前
Python 操作 MySQL 数据库从入门到精通
数据库·python·mysql
The_Ticker1 小时前
印度股票实时行情API(低成本方案)
python·websocket·算法·金融·区块链
ZC跨境爬虫1 小时前
Scrapy工作空间搭建与目录结构解析:从初始化到基础配置全流程
前端·爬虫·python·scrapy·自动化
EAIReport1 小时前
国外网站数据批量采集技术实现路径
开发语言·python
Ulyanov1 小时前
基于ttk的现代化Python音视频播放器:UI设计与可视化技术深度解析
python·ui·音视频
Freak嵌入式1 小时前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython