【介绍】
在分析日志及数据分析的时候,会遇到一些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