一日一技:如何从 URL 中快速提取域名?

简介: 一日一技:如何从 URL 中快速提取域名?

摄影:产品经理跟法餐一样小份的日料

有时候,我们要从一段很长的 URL 里面提取出域名。例如从https://www.kingname.info/2020/10/02/copy-from-ssh/,我需要获取的是kingname.info

可能有人会这样写代码:

url = 'https://www.kingname.info/2020/10/02/copy-from-ssh/'
domain = '.'.join(url.split('/')[2].split('.')[1:])

运行效果如下图所示:


但如果我给出的 URL 没有带 https://,这段代码的结果就有问题。

而且,有些域名可能有三级、四级域名,例如:blog.exercise.kingname.com.cn。显然,使用点分割以后,也不知道怎么拿到真正的域名kingname.com.cn

还有一些人的需求可能只需要域名中的名字,例如kingname.info只要kingnamegoogle.com.hk只要google

对于这些需求,如果手动写规则来提取的话,会非常麻烦。

不过好在 Python 有一个第三方库已经解决了这个问题,这就是tld

我们先来安装它:

python3 -m pip install tld

安装完成以后,我们来看看它的使用方法:

>>> url = 'https://www.kingname.info/2020/10/02/copy-from-ssh/'
>>> from tld import get_tld
>>> result = get_tld(url, as_object=True)
>>> domain = result.domain
>>> print(domain)
kingname
>>> domain_with_suffix = result.fld
>>> print(domain_with_suffix)
kingname.info

首先使用get_tld生成一个对象,然后通过对象的.domain属性获得纯域名,使用.fld属性,获得带有后缀的域名。

运行效果如下图所示:

对于不含https的网址,直接使用会报错,如下图所示:

但只要加上一个参数fix_protocol=True就可以解决问题:

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
3月前
|
JavaScript 前端开发 网络协议
Python之JavaScript逆向系列——1、URL——域名
Python之JavaScript逆向系列——1、URL——域名
25 0
|
7月前
|
存储 Python
用Python从URL中提取域名的方法
用Python从URL中提取域名的方法
63 0
|
10月前
|
域名解析 缓存 网络协议
计算机网络面试专题:URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程
计算机网络面试专题:URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程
86 1
|
存储 数据采集 搜索推荐
多搜索引擎关键词采集域名采集URL采集联系信息采集工具
Msray-plus,是一款采用GO语言开发的企业级综合性爬虫/采集软件。 支持:搜索引擎结果采集、域名采集、URL采集、网址采集、全网域名采集、CMS采集、联系信息采集 支持亿级数据存储、导入、重复判断等。无需使用复杂的命令,提供本地WEB管理后台对软件进行相关操作,功能强大且简单易上手! 1:可从国内外多个搜索引擎批量采集用户导入的关键词对应的搜索结果(SERP数据),并进行结构化数据存储与自定义过滤处理; 2:可从用户提供的url种子地址,源源不断的自动爬取全网网站数据,并进行结构化数据存储与自定义过滤处理; 3:可从用户提供的网站列表数据中,全自动的提取出网站联系方式信息,
多搜索引擎关键词采集域名采集URL采集联系信息采集工具
|
存储 数据采集 搜索推荐
全网搜索引擎采集(msray)|URL采集|关键词采集|域名采集
msray-plus支持搜索引擎结果采集、域名采集、URL采集、网址采集、全网域名采集、CMS采集、联系信息采集
全网搜索引擎采集(msray)|URL采集|关键词采集|域名采集
|
数据采集 搜索推荐 SEO
全网URL采集工具(msray),支持关键词采集,域名采集,联系人采集
全网URL采集工具,支持baidu,sogou,bing,Google,Yandex,Want,神马,DuckDuckGo,等搜索引擎,支持关键词采集,域名采集,URL采集,联系方式采集,手机号采集,qq采集,邮箱采集
全网URL采集工具(msray),支持关键词采集,域名采集,联系人采集
|
24天前
uView queryParams 对象转URL参数
uView queryParams 对象转URL参数
15 0
|
24天前
|
JavaScript
vue截取URL中的参数
vue截取URL中的参数
13 0
|
3月前
|
前端开发
[牛客网-前端大挑战QD2] 获取url参数
[牛客网-前端大挑战QD2] 获取url参数
20 0
|
3月前
BurpSuite8.2 -- 查找包含id参数的URL
BurpSuite8.2 -- 查找包含id参数的URL
19 1