📜  python 从 url 获取域 - Python (1)

📅  最后修改于: 2023-12-03 15:19:06.912000             🧑  作者: Mango

Python 从 URL 获取域

在编写 Python 代码时,有时需要获取 URL 中的域名。Python 提供了许多方法来实现这一目的。本文将介绍几种获取 URL 中域名的简单方法。

方法一:使用 urlparse

使用 Python 内置模块 urlparse,可以将 URL 拆分为组成部分,从而轻松获取域名。

from urllib.parse import urlparse

url = "https://www.example.com/foo/bar"
result = urlparse(url)
domain = result.netloc

print(domain) # "www.example.com"
方法二:使用 re 模块

正则表达式是从文本中提取特定信息的强大工具。可以使用 Python 内置的 re 模块,通过正则表达式来提取 URL 中的域名。

import re

url = "https://www.example.com/foo/bar"
pattern = r"(?:http[s]*://)?(?:www\.)?([a-zA-Z0-9\-\.]+)"
domain = re.findall(pattern, url)

print(domain[0]) # "www.example.com"
方法三:使用 tldextract 模块

tldextract 模块是一种 Python 库,可以轻松提取 URL 中的域名和子域名。

import tldextract

url = "https://www.example.com/foo/bar"
result = tldextract.extract(url)
domain = "{}.{}".format(result.domain, result.suffix)

print(domain) # "example.com"

总之,Python 提供了许多简单的方法来获取 URL 中的域名。这使得编写涉及 URL 的代码变得更加容易和高效。