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能够很好的拿到主域名与子域名的信息。