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

分类: 计算机技术
推荐阅读:
PySide6 动态创建按钮数组 动态创建按钮数组在许多场合非常有用,特别是当你需要根据用户输入、数据量或其它条件来生成界面元素时;本片将演示如何使用PySide6来动态的创建按钮数组,并正确响应对应按钮的点击信号;
使用vim编辑文件时添加密码保护 当你使用vim编辑器编辑一个文件时,可以使用一条命令即可实现向该文件添加一个密码保护;如果输入的密码错误,将无法正确打开文件,得到的是乱码;
Python使用集合实现内容去重 有这么一个场景,某个文件用于记录人名(也可以是URL或者其他的),编辑发现,出现了重复的内容。那么我们如何使用Python来进行去重呢?
使用Rust实现CRC32算法 CRC32是一种循环冗余校验码(Cyclic Redundancy Check)算法,通常用于数据传输或存储中的错误检测。该算法通过对输入数据进行位操作和模2除法来生成一个32位的校验码,该校验码可以用于验证输入数据是否已经损坏或被篡改。
Python实现将格雷码转换为二进制码 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code);本文将使用Python实现将格雷码转换为二进制码;
Linux将上一条执行的命令写入文件 在Linux下,你可以将刚刚输入的最后一条命令写入文件里,而且只需要一条命令,免去了创建文件,重复输入的过程;