Mac下通过Anaconda安装tldextract
Anaconda简介
比较正式的介绍(剽窃的):Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。说人话就是一个库,这个库里包括了各种python依赖包,我最近比较常用的就是sklearn了。换句话说,安装了anaconda了就不用逐个安装依赖包了。
再解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
tldextract简介
tldextract准确地从URL的域名和子域名分离通用顶级域名或国家顶级域名。
>>>importtldextract
>>>tldextract.extract('http://forums.news.cnn.com/')
#ExtractResult(subdomain='forums.news',domain='cnn',suffix='com')
>>>tldextract.extract('http://forums.bbc.co.uk/')
# United KingdomExtractResult(subdomain='forums',domain='bbc',suffix='co.uk')
>>>tldextract.extract('http://www.worldbank.org.kg/')
# KyrgyzstanExtractResult(subdomain='www',domain='worldbank',suffix='org.kg')
ExtractResult是namedtuple,所以它以简单方法得到你想要的部分。
>>>ext=tldextract.extract('http://forums.bbc.co.uk';)
>>>(ext.subdomain,ext.domain,ext.suffix)('forums','bbc','co.uk')
>>># rejoin subdomain and domain
>>>'.'.join(ext[:2])'forums.bbc'
>>># a common alias>>>ext.registered_domain
'bbc.co.uk'
子域和后缀是可选的。 不是所有类似URL的输入都有一个子域或有效的后缀。
>>>tldextract.extract('google.com')
ExtractResult(subdomain='',domain='google',suffix='com')
>>>tldextract.extract('google.notavalidsuffix')
ExtractResult(subdomain='google',domain='notavalidsuffix',suffix='')
>>>tldextract.extract('http://127.0.0.1:8080/deployed/';)
ExtractResult(subdomain='',domain='127.0.0.1',suffix='')
Anaconda安装tldextract
anaconda虽然强大,但是默认情况下tldextract是不包含的。但是我们酱紫,首先通过命令暂时修改anaconda的变量 : export PATH=~/anaconda/bin:$PATH,这样的话就可以在shell里很方便的通过conda命令安装tldextract依赖包 :conda install -c conda-forge tldextract
这个时候我们再看,是不是ok了: