新聞中心

HTML 解析之 BeautifulSoup

作者: 時間:2024-06-26 來源:嵌入式小小劉 收藏

在網(wǎng)頁數(shù)據(jù)采集、信息提取等應(yīng)用場景中,對文檔進(jìn)行解析是一項至關(guān)重要的任務(wù)。 是 Python 中用于解析和XML文檔的強(qiáng)大庫,提供了方便的API和豐富的功能,可幫助開發(fā)者輕松地從網(wǎng)頁中提取所需的數(shù)據(jù)。本文將介紹 的基本用法、常見功能和實際應(yīng)用,幫助讀者深入了解如何利用 進(jìn)行解析,從而提高數(shù)據(jù)處理和信息提取的效率和準(zhǔn)確性。

本文引用地址:http://www.butianyuan.cn/article/202406/460383.htm


一、基本用法


1.1 安裝和導(dǎo)入


要使用 BeautifulSoup 庫,首先需要安裝該庫??梢允褂?pip 工具進(jìn)行安裝:


pip install beautifulsoup4


安裝完成后,可以通過以下方式導(dǎo)入 BeautifulSoup:


from bs4 import BeautifulSoup


1.2 創(chuàng)建 BeautifulSoup 對象


通過將HTML文檔傳遞給 BeautifulSoup 構(gòu)造函數(shù),即可創(chuàng)建一個 BeautifulSoup 對象,用于后續(xù)的解析和操作:


html_doc = """<html><head><title>示例網(wǎng)頁</title></head><body><p class="title"><b>示例頁面內(nèi)容</b></p><p class="content">這是一個示例網(wǎng)頁。</p></body></html>soup = BeautifulSoup(html_doc, 'html.parser')


二、常見功能


2.1 標(biāo)簽選擇器


BeautifulSoup 支持通過標(biāo)簽選擇器來定位HTML文檔中的標(biāo)簽,從而提取所需信息。以下是標(biāo)簽選擇器的常見用法:


# 選擇第一個 title 標(biāo)簽

title = soup.title

# 選擇所有的 p 標(biāo)簽

paragraphs = soup.find_all('p')


2.2 數(shù)據(jù)提取


通過 BeautifulSoup,可以方便地提取標(biāo)簽的文本內(nèi)容、屬性信息等:


# 提取標(biāo)簽文本內(nèi)容

title_text = title.get_text()

# 提取標(biāo)簽屬性

p_class = paragraphs[0]['class']


2.3 CSS 選擇器


除了標(biāo)簽選擇器外,BeautifulSoup 還支持類似 CSS 選擇器的語法,用于定位HTML文檔中的元素:


# 通過 CSS 選擇器選擇標(biāo)簽

content = soup.select('.content')

# 通過 CSS 選擇器選擇子標(biāo)簽

title_b = soup.select('p.title b')


2.4 數(shù)據(jù)修改


除了提取數(shù)據(jù)外,BeautifulSoup 也支持對HTML文檔進(jìn)行修改和操作,如新增、刪除標(biāo)簽等:


# 新增一個 p 標(biāo)簽

new_paragraph = soup.new_tag('p')

new_paragraph.string = '新增的段落'

soup.body.append(new_paragraph)

# 刪除指定的標(biāo)簽

title_b.extract()




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉