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

分类: 计算机技术
推荐阅读:
Golang和Go的区别 Golang就是Go,Go就是Golang;Golang全称是Go language。
C语言assert()宏:在代码中插入检查点 在C语言中,assert()函数用于在代码中插入检查点。这个函数接受一个表达式作为参数,如果表达式的值为假,那么程序会先打印错误信息(这些信息中包含程序的名称、源代码的文件名、行号、以及表达式),然后调用abort()函数来停止程序的执行。
C语言isupper()函数:判断字符是否为大写字母 isupper()是C语言标准库中的一个函数,用于判断一个字符是否为大写字母(A~Z,ASCII码为65~90);传入的字符参数是一个大写字母时,返回非0值,否则返回0;
IDLE是什么? IDLE是Python的一个集成开发与学习环境(Integrated Development and Learning Enviroment);与Python捆绑在一起,安装好Python以后,IDLE会自动安装;它使用Python 和Tkinter Gui编写。
从Nginx日志中提取UserAgent、IP等信息 有时我们需要用到大量UserAgent信息,而Nginx日志文件中包含了海量真实的UserAgent,从Nginx文件中提取所有UserAgent信息就很有必要;
Linux一条命令删除文件中的重复项 在Linux系统中,如果你想给一个包含重复项(以行为一个单位)的文件去重,那么你只需要一条命令即可实现;