如何通过 python 中的 [urllib] 解析从原始 URL 中删除 'www.'?
How can I remove 'www.' from original URL through [urllib] parse in python?
原始 URL ▶ https://www.exeam.org/index.html
我想从原始 URL 中提取 exeam.org/ 或 exeam.org。
为此,我使用了 urllib
我所知道的 Python 中最强大的解析器,
但不幸的是 urllib
(url.scheme
, url.netloc
...) 无法提供我想要的格式类型。
使用 `urllib 从 url 中提取域名):
from urllib.parse import urlparse
surl = "https://www.exam.org/index.html"
urlparsed = urlparse(surl)
# network location from parsed url
print(urlparsed.netloc)
# ParseResult Object
print(urlparsed)
这会给你 www.exam.org
,但如果你只是在 exam.org
部分之后,你想进一步将其分解为注册域。因此,除了进行简单的拆分(这可能就足够了)之外,您还可以使用诸如 tldextract
之类的库,它知道如何解析子域、后缀等:
from tldextract import extract
ext = extract(surl)
print(ext.registered_domain)
这将产生:
exam.org
原始 URL ▶ https://www.exeam.org/index.html
我想从原始 URL 中提取 exeam.org/ 或 exeam.org。
为此,我使用了 urllib
我所知道的 Python 中最强大的解析器,
但不幸的是 urllib
(url.scheme
, url.netloc
...) 无法提供我想要的格式类型。
使用 `urllib 从 url 中提取域名):
from urllib.parse import urlparse
surl = "https://www.exam.org/index.html"
urlparsed = urlparse(surl)
# network location from parsed url
print(urlparsed.netloc)
# ParseResult Object
print(urlparsed)
这会给你 www.exam.org
,但如果你只是在 exam.org
部分之后,你想进一步将其分解为注册域。因此,除了进行简单的拆分(这可能就足够了)之外,您还可以使用诸如 tldextract
之类的库,它知道如何解析子域、后缀等:
from tldextract import extract
ext = extract(surl)
print(ext.registered_domain)
这将产生:
exam.org