python如何只显示域名

python如何只显示域名

作者:William Gu发布时间:2026-01-06阅读时长:0 分钟阅读次数:19

用户关注问题

Q
如何从URL中提取域名?

我有一个完整的URL,想用Python代码只获取其中的域名部分,该怎么做?

A

用Python提取URL的域名

可以使用Python标准库中的urllib.parse模块,通过urlparse函数解析完整的URL,然后获取netloc属性,它即为域名。例如:

from urllib.parse import urlparse
url = 'https://www.example.com/path?query=123'
parsed_url = urlparse(url)
domain = parsed_url.netloc
print(domain)  # 输出:www.example.com
Q
如何处理含端口号的域名?

Python提取域名时如果URL里包含端口号,该如何只显示纯域名而不带端口?

A

剔除端口号得到纯域名

当URL中包含端口号时,比如 'www.example.com:8080',通过urlparse得到netloc会包括端口号。可以用字符串分割或split(':')来去除端口部分,例如:

host_port = parsed_url.netloc
domain = host_port.split(':')[0]
print(domain)  # 输出:www.example.com
Q
如何从多个URL中批量提取域名?

如果我有一个URL列表,想用Python快速取出所有域名,有没有推荐的方法?

A

批量提取域名的Python方案

可以对URL列表使用列表解析结合urllib.parse.urlparse来实现批量提取,示例代码如下:

urls = ['https://site1.com/path', 'http://example.org/page', 'https://sub.domain.net']
domains = [urlparse(u).netloc.split(':')[0] for u in urls]
print(domains)  # 输出:['site1.com', 'example.org', 'sub.domain.net']