HTML 解析之 BeautifulSoup
在網(wǎng)頁(yè)數據采集、信息提取等應用場(chǎng)景中,對HTML文檔進(jìn)行解析是一項至關(guān)重要的任務(wù)。BeautifulSoup 是 Python 中用于解析HTML和XML文檔的強大庫,提供了方便的API和豐富的功能,可幫助開(kāi)發(fā)者輕松地從網(wǎng)頁(yè)中提取所需的數據。本文將介紹 BeautifulSoup 的基本用法、常見(jiàn)功能和實(shí)際應用,幫助讀者深入了解如何利用 BeautifulSoup 進(jìn)行HTML解析,從而提高數據處理和信息提取的效率和準確性。
本文引用地址:http://dyxdggzs.com/article/202406/460383.htm
一、基本用法
1.1 安裝和導入
要使用 BeautifulSoup 庫,首先需要安裝該庫??梢允褂?pip 工具進(jìn)行安裝:
pip install beautifulsoup4
安裝完成后,可以通過(guò)以下方式導入 BeautifulSoup:
from bs4 import BeautifulSoup
1.2 創(chuàng )建 BeautifulSoup 對象
通過(guò)將HTML文檔傳遞給 BeautifulSoup 構造函數,即可創(chuàng )建一個(gè) BeautifulSoup 對象,用于后續的解析和操作:
html_doc = """<html><head><title>示例網(wǎng)頁(yè)</title></head><body><p class="title"><b>示例頁(yè)面內容</b></p><p class="content">這是一個(gè)示例網(wǎng)頁(yè)。</p></body></html>soup = BeautifulSoup(html_doc, 'html.parser')
二、常見(jiàn)功能
2.1 標簽選擇器
BeautifulSoup 支持通過(guò)標簽選擇器來(lái)定位HTML文檔中的標簽,從而提取所需信息。以下是標簽選擇器的常見(jiàn)用法:
# 選擇第一個(gè) title 標簽
title = soup.title
# 選擇所有的 p 標簽
paragraphs = soup.find_all('p')
2.2 數據提取
通過(guò) BeautifulSoup,可以方便地提取標簽的文本內容、屬性信息等:
# 提取標簽文本內容
title_text = title.get_text()
# 提取標簽屬性
p_class = paragraphs[0]['class']
2.3 CSS 選擇器
除了標簽選擇器外,BeautifulSoup 還支持類(lèi)似 CSS 選擇器的語(yǔ)法,用于定位HTML文檔中的元素:
# 通過(guò) CSS 選擇器選擇標簽
content = soup.select('.content')
# 通過(guò) CSS 選擇器選擇子標簽
title_b = soup.select('p.title b')
2.4 數據修改
除了提取數據外,BeautifulSoup 也支持對HTML文檔進(jìn)行修改和操作,如新增、刪除標簽等:
# 新增一個(gè) p 標簽
new_paragraph = soup.new_tag('p')
new_paragraph.string = '新增的段落'
soup.body.append(new_paragraph)
# 刪除指定的標簽
title_b.extract()
評論