在 Python 中,如何提取 URL 的域部分?

In Python, how do I extract the domain portion of a URL?

我正在使用 Python 3.7 和 Django。我想提取 URL 的域部分。因为 "domain" 可能不是正确的词,我的意思是如果 URL 是

www.yahoo.com

我想提取"yahoo.com"。如果 URL 是

www.indepednet.co.uk

我想提取 "independent.co.uk"。不确定正确的术语是什么。我试过了

ext = tldextract.extract(article_stat.article.url)
self.domain = ext.domain.lower()

但这只提取了一个词。在第一个示例中,它仅提取 "yahoo"。提取域的正确方法是什么?

您缺少suffix

要完成您想要做的事情,试试这个:

ext = tldextract.extract(article_stat.article.url)
self.domain = ext.domain.lower() + ext.suffix.lower()

看起来你也可以用 self.domain = ext.registered_domain

替换第二行