📜  从 url python 中提取域名(1)

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

从 url python 中提取域名

在进行 Web 开发和爬虫时,经常需要从一个 URL 中提取出其域名。Python 提供了多种获取域名的方法,本文将介绍其中的几种方法。

1. 使用 urlparse 模块

urllib.parse.urlparse 方法可以将 URL 中的各个部分分解出来,其中 netloc 部分就是域名。

from urllib.parse import urlparse

url = 'https://www.example.com/path/to/some/page.html?query=string#fragment'
parsed = urlparse(url)
domain = parsed.netloc
print(domain)

输出:

www.example.com
2. 使用 tldextract 模块

tldextract 模块可以将域名从 URL 中提取出来,并且还支持获取顶级域名和子域名。

import tldextract

url = 'https://www.example.com/path/to/some/page.html?query=string#fragment'
extracted = tldextract.extract(url)
domain = extracted.registered_domain
print(domain)

输出:

example.com
3. 使用正则表达式

如果你对正则表达式比较熟悉,也可以使用正则表达式提取域名。

import re

url = 'https://www.example.com/path/to/some/page.html?query=string#fragment'
pattern = r'^https?://([\w\.]+)/'
match = re.match(pattern, url)
if match:
    domain = match.group(1)
print(domain)

输出:

www.example.com

以上三种方法中,第一种方法使用了 Python 内置的模块,第二种方法使用了第三方模块,第三种方法则是使用正则表达式自己解析 URL。根据具体的业务需求,可以选择合适的方法来提取域名。