天天看點

Python3 url域名擷取

Python3 url域名擷取

  • 通過内置子產品urllib進行擷取:
from urllib.parse import urlparse
url = "http://zhidao.baidu.com"
print(urlparse(url))
           

輸出資訊:ParseResult(scheme=‘http’, netloc=‘zhidao.baidu.com’, path=’’, params=’’, query=’’, fragment=’’),其中netloc就是我們需要的域名資訊

  • 通過内置子產品tldextract進行擷取
import tldextract
url = "http://zhidao.baidu.com"
print(tldextract.extract(url))
           

輸出資訊:ExtractResult(subdomain=‘zhidao’, domain=‘baidu’, suffix=‘com’),其中domain就是我們需要的域名資訊。

  • 看到這裡或許疑問就來了,為什麼兩個内置子產品擷取的域名資訊不完全一緻呢?原因在于urllib擷取的是目前url的完整域名資訊即zhidao.baidu.com,那有人會問tldextract擷取的不是完整的域名資訊?并不是!tldextract擷取的同樣是完整的域名,不過他将擷取到的域名資訊拆分成subdomain子域名,domain主域名的形式進行輸出。
  • 綜合上面的結果我們不難看出前者urllib沒有辦法準确的拿到網站的主域名,子域名而tldextract能夠很好的拿到主域名與子域名的資訊。