You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取网站完整域名?代码仅返回顶级域名问题求助

解决tld.get_tld仅返回顶级域而非完整二级域的问题

我明白你的问题了——你用tld库的get_tld函数时,只拿到了com这样的顶级域,但你实际想要的是google.com这种完整的注册域名。这其实是因为get_tld的默认行为就是只返回顶级域,咱们调整一下代码就能解决。

问题原因

默认情况下,get_tld()函数的作用是提取URL中的顶级域(Top-Level Domain),也就是域名最右侧的部分(比如.com、.org)。而你需要的是包含二级域的完整注册域名,这时候得用库提供的其他方法或者调整参数。

解决方案1:使用get_fld函数(推荐)

tld库专门提供了get_fld()函数,它的设计目的就是获取完整的注册域名(二级域+顶级域),直接替换你的get_tld就行:

from tld import get_fld
def get_domain_name(url):
    domain_name = get_fld(url)
    return domain_name
print(get_domain_name("https://www.google.com"))  # 输出: google.com

解决方案2:通过as_object=True参数获取完整域名

如果你更习惯用get_tld,可以给它加上as_object=True参数,这样函数会返回一个包含域名详细信息的对象,你只需要访问它的fld属性就能拿到完整域名:

from tld import get_tld
def get_domain_name(url):
    tld_info = get_tld(url, as_object=True)
    domain_name = tld_info.fld
    return domain_name
print(get_domain_name("https://www.google.com"))  # 输出: google.com

这两种方法都能让你得到预期的google.com,测试其他网站(比如https://www.github.com)也会返回github.com,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Ritik Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:04:00