怎样使用Python抽取各级域名

2018年6月13日 | 分类: 【技术】

【介绍】

在分析日志及数据分析的时候,会遇到一些url抽取域名信息的需求。虽然urlparse可以把所有的域名给提取出来,但是不能精确到一级域名,二级域名,x级域名。

ExtractLevelDomain模块可以取顶级域名的模块,当然也可以提取二级,三级。

因为库里有大量的子域名,所以只需要对同顶级域名的其中一个域名获取信息即可,否则会造成数据库大量冗余信息,而且在后期更新的时候还会造成系统及网络不必要的压力。

官网:http://xiaorui.cc/2015/11/06/%E4%BD%BF%E7%94%A8python%E8%A7%A3%E6%9E%90%E6%8A%BD%E5%8F%96url%E4%B8%AD%E5%90%84%E7%BA%A7%E5%9F%9F%E5%90%8D%E4%BF%A1%E6%81%AF/
官网:https://github.com/rfyiamcool/ExtractLevelDomain
官网:https://pypi.org/project/ExtractLevelDomain/
参考:http://www.vuln.cn/8567

【安装】

PIP安装:

pip install ExtractLevelDomain

源码安装:

git clone https://github.com/rfyiamcool/ExtractLevelDomain.git && cd ExtractLevelDomain && python setup.py install

【使用】

import ExtractLevelDomain
filter = ExtractLevelDomain.ExtractLevelDomain()

#普通抽取域名,默认是最多匹配
print filter.parse_url('http://dmp.301.xiaorui.cc/redirect/xiaorui.cc')

#parse_url_level可以控制level级,可接收的参数两种参数 1 2 3 或"*"
print filter.parse_url_level('http://dmp.301.xiaorui.cc/redirect/xiaorui.cc',level=2)

#set_level设置level级别
filter.set_level(1)
print filter.parse_url_level('http://dmp.301.xiaorui.cc/redirect/xiaorui.cc',level=1)

#现实Level级别
print filter.level