PSL判定域名后缀是否是合法注册域名
程序员文章站
2022-04-17 21:22:21
...
判定域名后缀是否是合法注册域名
在做有关流量中域名聚类的事情,需要进行数据过滤。做实验过程中的小探索,如何利用PSL(public suffix list)判断域名后缀是否合法,即是注册域名。
发现有两个python的包,用两个包做出来效果完全相同,即在同一数据集滤除相同的不合法域名
#1.
from publicsuffix import PublicSuffixList
import codecs
psl_file = codecs.open('/home/wangqiang/public_suffix_list.dat', encoding='utf8')#需要实现下载好github中的PSL列表
psl = PublicSuffixList(psl_file)
#from publicsuffix import fetch 用在线的列表也一样
#psl_file = fetch()
i = len(psl.get_public_suffix(domain).split("."))
if i <2: #如果层数小于2,则说明不是合法注册的域名
print(domain+"illegal")
#2.
from publicsuffixlist import PublicSuffixList
psl1 = PublicSuffixList(accept_unknown=False) #另一个包 ,设置为不接受未知域名,返回结果为空,说明不是合法的注册域名
if psl1.publicsuffix(domain)==None:
print(domain+"illegal")