Python中的Beautifulsoup2025年1月5日 | 阅读6分钟 Beautifulsoup 是一个强大的 Python 库,专为网络抓取而设计,提供了一种有效的方式来导航、搜索和操作 HTML 和 XML 文档的内容。Beautiful Soup 作为解析库,将原始的 HTML 或 XML 代码转换为结构化的、树状的表示形式,使用户能够轻松地从网页中提取和操作数据。 主要用途1. 数据提取 用于网络抓取,可以轻松高效地从 HTML 和 XML 文档中提取数据。 2. 解析 HTML 和 XML Beautiful Soup 将 HTML 或 XML 转换为可导航的树状结构。 3. 树修改 该工具支持修改解析树,允许用户根据需要添加、删除或操作元素。 4. 处理损坏的 HTML Beautiful Soup 被设计为能够优雅地处理不完美或格式错误的 HTML。 5. 导航和搜索 Beautiful Soup 提供了搜索和导航解析树的方法。用户可以根据标签名称、属性或层级关系等标准来定位标签。 Beautifulsoup 安装命令 基本用法 让我们通过一个简单的例子来说明 Beautiful Soup 的基本用法。考虑一个场景,我们要从一个示例网页中提取文章的标题。 示例这是示例程序 程序 输出 Trending Technologies Preparation B.Tech / MCA Cloud Technologies Testing Tutorials Python Tutorials Java Technology Database Tutorials Web Technology PHP Tutorials Office Tools .Net Technologies Popular Tutorials Miscellaneous Topics Non-Technical Topics American India Author View Feedback 100+ Latest Updates Javatpoint Services Training For College Campus 说明 我们导入了两个库:一个用于发起请求,另一个用于解析 HTML 和 XML 文档。接下来,我们指定了 URL,它包含了目标网页的网络地址,并请求了该 URL。如果请求成功,响应将被存储。然后,我们使用 Beautiful Soup 从响应中收到的 HTML 内容创建一个解析树。使用 `find_all()` 方法,我们在解析后的 HTML 中找到了具有 `<h2>` 标签的 HTML 元素。最后,我们打印了所有 `h2` 元素。 解析 HTML 和 XMLHTML 解析分析 HTML 文档,以提取其结构化组件,如标签、属性和内容。 示例 这是一个简单的程序 程序 输出 Tag Name: html Tag Name: head Tag Name: title Tag Name: body Tag Name: h1 Tag Name: p Tag Name: ul Tag Name: li Tag Name: li Tag Name: li 说明 我们从 bs4 库导入 BeautifulSoup,用于在 Python 中解析 HTML 内容。然后,我们使用 BeautifulSoup 从 HTML 字符串创建了一个解析树。创建解析树后,我们使用 find_all() 方法来定位树中的所有 HTML 元素。最后,我们遍历这些元素并打印它们的标签名称。 树修改BeautifulSoup 提供了各种方法来修改解析树中的元素。以下是一些你可以用来修改树元素的常用方法:
示例这是一个使用 beautifulsoup 修改树的示例程序。 程序 输出 <html> <head> <title> Sample Page </title> </head> <body> <div class="modified-class" id="content"> <p> This paragraph has been modified. </p> <ul> <li> C++ </li> <li> Java </li> <li> Python </li> <li> C# </li> <li> HTML </li> </ul> </div> </body> </html> 说明 我们首先导入 Beautiful Soup 库,然后创建 HTML 内容并将其转换为 Beautiful Soup 对象。之后,我们指定了段落元素并修改了它的字符串。我们还通过添加一个类来修改 div 元素,最后,我们使用 new_tag 添加了一个新元素。最后,我们使用 prettify() 格式化了树,使我们的 HTML 代码更具可读性和组织性。 导航和搜索导航和搜索对于使用 Beautiful Soup 从 HTML 或 XML 文档中提取信息至关重要。 示例 这是一个演示如何使用 Beautiful Soup 在 XML 文件中进行导航和搜索的示例程序。 程序 输出 University Name: university First Course Title: Computer Science -------------------------------------------------- 1. Course Title: Computer Science Instructor: Dr. Smith -------------------------------------------------- 2. Course Title: Mathematics Instructor: Prof. Johnson -------------------------------------------------- 说明 在这个使用 Beautiful Soup 进行 XML 解析的 Python 脚本中,处理了代表大学课程的 XML 内容。`BeautifulSoup` 实例使用 'xml' 解析器进行配置,以创建解析树。程序直接导航到 XML 结构中的特定元素,例如大学名称和第一门课程的标题。然后,它利用 `find_all` 方法搜索所有 `<title>` 标签的实例,并遍历它们以提取和打印每门课程的相关信息,包括课程标题和讲师。该脚本展示了 Beautiful Soup 如何通过提供直观的方法进行直接导航和基于标签的搜索来简化 XML 解析,使其成为从 XML 文档中提取结构化数据的有效工具。 结论Beautiful Soup 是一个强大而通用的 Python 库,用于解析和导航 HTML 和 XML 文档。它简化了解析原始 HTML/XML 内容的复杂任务,使其易于提取数据。该库可以处理格式不佳的标记,并提供了丰富的搜索、导航和修改解析树的方法。Beautiful Soup 是网络抓取项目的必备工具包组件,使开发人员能够从网站提取信息、分析 XML 数据和重组内容。 |
Python 是一种高级、解释型、通用编程语言。它由 Guido van Rossum 创建,并于 1991 年首次发布。Python 强调可读性、简洁性和易用性,这有助于它在开发者中广泛流行。Python 的主要特点包括:可读性:Python 的语法是...
18 分钟阅读
名为 Matplotlib 的 Python 模块是 NumPy 库的数学和数值扩展。Pyplot 是一个 Matplotlib 包,它使用基于状态的接口提供类似 MATLAB 的接口。在接下来的教程中,我们将了解 Python 中的 matplotlib.pyplot.contourf() 方法是什么以及如何实现它...
阅读 3 分钟
云计算是一种通过互联网提供各种计算服务的技术,包括服务器、存储、数据库、网络、软件、分析和智能。云计算旨在为用户提供灵活的资源和可扩展的解决方案,而无需依赖本地服务器或个人设备来处理应用程序...
5 分钟阅读
Python 因其简单性、多功能性、强大的社区支持以及广泛的库和框架生态系统而备受推崇。其易于阅读的语法和简单的学习曲线使其成为初学者和经验丰富的开发人员的宝贵工具。随着如此广泛的使用,许多 IDE(集成……
阅读 8 分钟
?简介 Python 是当今世界上最多才多艺的编程语言之一。它有许多用于不同目的的文件扩展名。其中,.pyc、.pyd 和 .pyo 尤其值得注意。这些文件扩展名包括 .py、.pyc、.pyo 和 .txt,每种...
阅读 6 分钟
在本教程中,我们将回顾如何使用 Kaggle Telco Customer 数据集开发简单而实用的模型来预测客户流失率。背景和问题;数据摘要和探索性分析;数据分析;策略建议、缺点和未来研究都包含在具体流程中。背景给定...
14 分钟阅读
Python 是一种通用且功能强大的编程语言,提供了各种数据结构来有效地处理和操作数据。其中一种数据结构可能不像列表或字典那样常用,但在某些情况下具有重要意义,那就是有序集合....
阅读 4 分钟
介绍 Python Imaging Library (PIL) 是一个用于 Python 中图像处理任务的强大库。在其众多功能中,Image.open() 方法是加载图像到内存中的基本函数。本文将深入探讨 Image.open() 方法的复杂性,...
阅读 3 分钟
在统计学领域,中位数是衡量集中趋势的一个关键指标,它提供了超越平均值的数据分布的见解。Python 是数据科学和分析领域的一门流行语言,它通过其……提供了一套强大的统计运算工具集。
阅读 3 分钟
在下一个教程中,我们将学习 Python 的 getattr() 方法及其在程序中的使用方法。那么,让我们开始吧。理解 Python 的 getattr() 方法 Python getattr() 方法用于检索对象的属性值,并提供了使用该方法的替代方法...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India