我在Python中有一个类似google.com
的字符串,我想将其分为两部分:google
和.com
。问题在于我有subdomain.google.com
这样的网址,我希望将其分为subdomain.google
和.com
。
如何将其余网址与TLD分开?由于.
等顶级域名,因此无法根据网址中的最后.co.uk
进行操作。请注意,URL不包含http://或www。
答案 0 :(得分:6)
tldextract看起来就像你需要的那样。它涉及.co.uk
问题。
答案 1 :(得分:1)
我使用了tdl和urllib,但没有发现它们令人满意。 我在Google搜索中多次找到有关如何解析网址的问题。 过了一会儿,我花时间制作了一个正则表达式,并将其放入一个开源软件包中。
它处理具有辅助顶级域名(例如co.uk)的URL,并且还支持带有特殊字符的国家URL。
url-parser on PyPi
URL Parser on GitHub
对于您来说,这样使用起来很容易:
第一步:
int iMoney_back_cents = (iMoney_back * 100) + .5;
第二步:
pip install url-parser
您可以使用这些键来获取URL的不同部分。
from url_parser import parse_url
url = parse_url('subdomain.google.com')
url['subdomain'] # subdomain
url['domain'] # google
url['top_domain'] #com
protocol
www
sub_domain
domain
top_domain
dir
file
fragment
答案 2 :(得分:0)
为此,您需要一个有效域名列表。顶级的(.com,.org等)和国家代码(.us,.fr等)很容易找到。试试http://www.icann.org/en/resources/registries/tlds。
对于第二级(.co.uk,.org.au),您可能需要查找每个国家/地区代码以查看其子域。维基百科是你的朋友。
获得列表后,从您拥有的名称中获取最后两部分(google.com或co.uk),看看它是否在您的二级列表中。如果没有,请抓住最后一部分,看看它是否在您的顶级列表中。