技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

使用 BeautifulSoup 查找给定标签的文本

pythonbeautifulsoupserver side programmingprogramming

BeautifulSoup 是一款功能强大的工具,可轻松从 HTML 和 XML 文档中提取信息,主要用 Python 开发,用于网页抓取和网页数据提取。BeautifulSoup 最有用的功能之一是能够在文档中查找特定标签。在此博客中,我们将探讨如何使用 BeautifulSoup 查找给定标签的文本以及一些示例。

安装和语法

在使用 BeautifulSoup 之前必须先安装它,因此请使用 Python 包管理器并在终端内运行以下命令。

pip install beautifulsoup4

安装 BeautifulSoup 后,我们可以使用以下命令将其导入 Python 代码中

from bs4 import BeautifulSoup

使用 BeautifulSoup 查找标签文本的语法如下 -

soup.find('tag_name').text

算法

  • 将 HTML 文件或内容传递给 BeautifulSoup 类的函数以创建 BeautifulSoup 对象。

  • 利用 find() 函数来追踪您正在搜索的标签。利用标签对象的 text 属性获取标签内的文本。

  • 如果没有 HTML 或 XML 标记,这将生成一个仅包含标签内文本的字符串。

  • 如果我们有兴趣,我们可以使用 text 属性通过循环反复遍历 find_all() 生成的标签列表来获取每个标签内包含的文本。

示例 1

from bs4 import BeautifulSoup
html = '<html><body><h1>Hello, World!</h1></body></html>'
soup = BeautifulSoup(html, 'html.parser')
heading = soup.find('h1')
print(heading.text)

输出

Hello, World!

创建一个 HTML 字符串并将其与要使用的解析器一起传递给 BeautifulSoup 构造函数。使用 find() 方法查找 h1 标记并将其存储在标题变量中。最后,使用标题对象的 text 属性获取标记内的文本。

示例 2

from bs4 import BeautifulSoup
html = '<html><body><p>TutorialsPoint Web Scraping 示例文本</p></body></html>'
soup = BeautifulSoup(html, 'html.parser')
paragraph = soup.find('p')
print(paragraph.text)

输出

TutorialsPoint Web Scraping Example Text

从包含段落标记和一些文本的 HTML 字符串开始,使用 find() 方法定位段落标记并将其存储在段落变量中。标记中的文本将通过利用段落对象的 text 属性来获取。

让我们看一个更大的例子,看看如何使用 BeautifulSoup 查找多个标记的文本 −

import requests
from bs4 import BeautifulSoup
url = 'https://www.pythonforbeginners.com/'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
headings = soup.find_all('h3')
for heading in headings:
   print(heading.text)

输出

Popular Python Tutorials
Categories
Loops
Regular Expressions
Python Games
Basics
Functions
Code Examples
Strings
Dictionaries
Python on the Web
Lists
Modules
Python Comments
Latest Content
Convert INI Files to JSON Format in Python
Convert XML to INI Format in Python
Pandas Insert Row into a DataFrame
Convert INI to XML Format in Python

使用请求库向 url 变量中指示的网站发送 GET 请求,同样,为了解析响应的 HTML 数据,使用 BeautifulSoup 解析器技术。然后,使用 find all() 找到页面上的所有 h2 标签并将其存储在标题变量中。最后,使用循环遍历每个标题并使用文本属性输出其内容。

应用

在线抓取、数据提取和数据分析是 BeautifulSoup 的应用领域之一。它可用于抓取新闻报道、虚拟娱乐信息和各种不同来源以从网站获取数据,因此它的典型用例是 Web 计算机化和测试。它对开发人员来说也是一个有用的工具,因为它支持各种解析器,包括 HTMLXML。网页抓取和数据提取的用户友好语法和详尽文档使新手可以轻松上手。

结论

功能强大的 BeautifulSoup 使网页抓取和数据提取变得简单。由于其语法简单,HTML 或 XML 文档可以快速访问标签的文本。无论您热衷于从网站抓取信息还是分解信息,BeautifulSoup 都是您工具库中不可或缺的一款非凡工具。此外,它还可以轻松浏览 HTML 树结构并同时从多个页面提取特定数据。BeautifulSoup 具有用户友好的界面和详尽的文档,是任何数据科学家或 Web 开发人员的必备工具。


相关文章