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 。