Python 使用tld库获取复杂URL的顶级域名


我们会碰到各种各样复杂的URL链接,需要获取这些链接的顶级域名,比如:

www.a.com/ b.com.cn/ a.b.c.com.cn a.com/b.com

Python有内置的库可以识别一些简单URL的顶级域名,但像 a.b.c.com.cn 和 a.com/b.com 这样的却无能为力;我们需要一个强大的第三方库来实现提取顶级域名。

安装 tld 库: pip3 install tld

使用tld库中的get_tld方法:

from tld import get_tld
url = 'http://a.b.c.d.com.cn'
topLeverDomain = get_tld(url,as_object=True).fld
print(topLeverDomain)

上述代码成功打印 d.com.cn

需要注意的是,上述代码传入的 URL 值必须是一个完整的链接,必须包含scheme,比如:http://,https://,ftp://,否则会报错。

不过get_tld()有一个缺省参数fix_protocol,默认为false,设置成为 true 即可忽略缺少的 scheme 。


本文版权归作者所有!

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/625.html