使用 Python 爬虫时,保留网页文本而不包含 HTML 标签的方法有两种:使用 BeautifulSoup 库,调用其 get_text() 方法获取文本内容。使用正则表达式匹配并替换 HTML 标签,提取纯文本内容。
Python 爬虫只保留文字的方法
在使用 Python 爬虫抓取网页内容时,有时我们会希望只保留文本部分,去除 HTML 标签和样式等不必要的元素。本文介绍了两种常用的方法来实现这一目标。
1. 使用 BeautifulSoup
BeautifulSoup 是一个流行的 Python HTML 解析库,它可以方便地从 HTML 文档中提取文本。
立即学习
“
Python免费学习笔记(深入)
”;
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
2. 使用正则表达式
正则表达式是一种用于匹配字符串的强大工具。我们可以使用正则表达式来从 HTML 内容中提取文本。
比较
BeautifulSoup 提供了一种更简单、更友好的方法来解析 HTML,并且可以保留换行符和空格等格式。
正则表达式提供了更强大的匹配能力,但需要更复杂的手动编码。
选择哪种方法取决于具体需求和对 HTML 结构的熟悉程度。
from bs4 import BeautifulSoup
# 创建 BeautifulSoup 对象
soup = BeautifulSoup(html_content, "html.parser")
# 提取文本内容
text = soup.get_text()import re
# 定义正则表达式模式
pattern = re.compile(r"<.*?>")
# 匹配并替换 HTML 标签
text = re.sub(pattern, "", html_content)