如何通过分析 URL 来检测子域?
How can I detect subdomains by analyzing a URL?
我有几个网站是子域(例如 Wordpress, Altervista, Blogpress
,...)。
我目前正在使用 url 解析将 URL 拆分成它们的元素。但是似乎不允许区分子域,而只能区分 tld.
或者,我会使用一个词汇表来包含所有子域后缀,并在此基础上分配 1
或 0
。但是由于我不知道所有的博客,所以我想知道是否有一种方法可以自动检测。
例如,我想看点,但很多网站之间可能有一个点不是子域,所以这种方法并不好。
我认为这个库应该可以解决问题 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
我有几个网站是子域(例如 Wordpress, Altervista, Blogpress
,...)。
我目前正在使用 url 解析将 URL 拆分成它们的元素。但是似乎不允许区分子域,而只能区分 tld.
或者,我会使用一个词汇表来包含所有子域后缀,并在此基础上分配 1
或 0
。但是由于我不知道所有的博客,所以我想知道是否有一种方法可以自动检测。
例如,我想看点,但很多网站之间可能有一个点不是子域,所以这种方法并不好。
我认为这个库应该可以解决问题 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