📅  最后修改于: 2023-12-03 15:22:02.989000             🧑  作者: Mango
在 Python 中,我们经常需要从页面中提取 URL,这在网络爬虫、数据抓取和数据分析等领域中经常需要使用到。
本文将介绍如何在 Python 中提取 URL,包括使用正则表达式和 BeautifulSoup 两种方法。
正则表达式是一种强大的模式匹配工具,在 Python 中可以使用 re 模块来进行正则表达式操作。以下是使用正则表达式从页面中提取 URL 的示例代码:
import re
import requests
# 获取页面 HTML
response = requests.get('https://www.baidu.com')
html = response.text
# 提取所有链接
urls = re.findall(r'href=[\'"]?([^\'" >]+)', html)
# 打印链接
print(urls)
在代码中,我们使用 requests 库获取页面 HTML,然后使用正则表达式匹配所有 href 属性中的链接,并将其存储在 urls 列表中。
BeautifulSoup 是 Python 中一个非常流行的 HTML 解析器库,可以方便地从 HTML 中提取数据。以下是使用 BeautifulSoup 从页面中提取 URL 的示例代码:
import requests
from bs4 import BeautifulSoup
# 获取页面 HTML
response = requests.get('https://www.baidu.com')
html = response.text
# 解析 HTML
soup = BeautifulSoup(html, 'html.parser')
# 查找所有链接
urls = []
for link in soup.find_all('a'):
href = link.get('href')
urls.append(href)
# 打印链接
print(urls)
在代码中,我们使用 requests 库获取页面 HTML,然后使用 BeautifulSoup 解析 HTML,并找到所有 a 标签中的 href 属性,将其存储在 urls 列表中。
以上就是从页面 Python 中提取 URL 的两种方法,使用正则表达式可以实现简单、快速的链接提取,但是对于复杂的 HTML 结构可能会比较棘手;而使用 BeautifulSoup 更加方便,可以轻松地操作 HTML 的各个部分。根据实际情况选择使用哪一种方式进行 URL 提取。