如何通过分析 URL 来检测子域?

How can I detect subdomains by analyzing a URL?

我有几个网站是子域(例如 Wordpress, Altervista, Blogpress,...)。

我目前正在使用 url 解析将 URL 拆分成它们的元素。但是似乎不允许区分子域,而只能区分 tld.

或者,我会使用一个词汇表来包含所有子域后缀,并在此基础上分配 10。但是由于我不知道所有的博客,所以我想知道是否有一种方法可以自动检测。

例如,我想看点,但很多网站之间可能有一个点不是子域,所以这种方法并不好。

我认为这个库应该可以解决问题 https://pypi.org/project/tld/

这是一个例子:

from tld import get_tld
url = "https://artgateblog.altervista.org/"
res = get_tld(url, as_object=True)
blogname, blog_domain = res.domain, res
print(blogname, blog_domain)

输出:

artgateblog altervista.org

评论后编辑:

对于不包含协议的域,我认为您需要添加如下内容:

from tld import get_tld
urls = ["12story.altervista.org", "fantasy_story.blogspot.com"]
for url in urls:
    res = get_tld(url, as_object=True, fix_protocol=True)
    blogname, blog_domain = res.domain, res