在網絡爬蟲或者數據分析的過程中,很常見的一種需求就是提取某一個網址的主域名,比如從 https://www.baidu.com/search?q=python 中提取出 baidu.com 這個主域名。
對于 Python 編程語言來說,提取主域名其實非常簡單。我們可以使用 tldextract 這個 Python 庫。其實 tld 就是 top-level domain 的縮寫,也就是頂級域名的意思。tldextract 可以將一個 URL 或者域名拆分成三個部分:域名、主域名、子域名。
import tldextract url = "https://www.baidu.com/search?q=python" extract_result = tldextract.extract(url) main_domain = extract_result.registered_domain print(main_domain) # 輸出 baidu.com
這里我們首先導入 tldextract 庫,然后定義需要提取主域名的 URL。我們調用 tldextract 中的 extract 方法,傳入需要提取的 URL,返回一個 ExtractResult 對象。
最后通過 ExtractResult 對象的 registered_domain 屬性,就可獲取到主域名了。
需要注意的是,tldextract 庫的主域名提取是以頂級域名為依據,所以即便是一些網址比較特殊,比如 http://localhost:8080,也會返回空字符串,因為 localhost 不是頂級域名。