[英]How to get the domainname (name+TLD) from a URL in python
我想從URL列表中提取域名(站點名稱+ TLD),這些URL的格式可能不同。 例如:當前狀態---->我想要什么
mail.yahoo.com------> yahoo.com
account.hotmail.co.uk---->hotmail.co.uk
x.it--->x.it
google.mail.com---> google.com
是否有任何python代碼可以幫助我從URL中提取我想要的內容,還是應該手動執行?
這有點不重要,因為沒有簡單的規則來確定什么是有效的公共后綴(站點名稱+ TLD)。 相反,什么使公共后綴在PublicSuffix.org上作為列表維護 。
存在查詢列表(本地存儲)的python包; 它被稱為publicsuffix
:
>>> from publicsuffix import PublicSuffixList
>>> psl = PublicSuffixList()
>>> print psl.get_public_suffix('mail.yahoo.com')
yahoo.com
>>> print psl.get_public_suffix('account.hotmail.co.uk')
hotmail.co.uk
使用python tld
https://pypi.python.org/pypi/tld
$ pip install tld
from tld import get_tld
print get_tld("http://www.google.co.uk/some-page/some-sub-page/")
'google.co.uk'
這時我看到六個包進行域名拆分:
它們緩存公共后綴列表數據的方式不同(只有tldextract使用JSON文件,從而節省了在加載時解析列表),用於下載該數據的策略,以及它們保留在內存中的結構(分別為:frozenset) ,設置,設置,標簽字典,同上,名字字典),它決定了搜索算法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.