首页 > 解决方案 > 如何通过分析 URL 来检测子域?

问题描述

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

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

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

例如,我正在考虑查看点,但是许多网站之间可以有一个点而不是子域,所以这种方法不好。

标签: pythonstringurlparse

解决方案


我认为这个库应该可以解决问题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

推荐阅读