色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          HTML 解析之 BeautifulSoup

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

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

          本文引用地址:http://cafeforensic.com/article/202406/460383.htm


          一、基本用法


          1.1 安裝和導(dǎo)入


          要使用 BeautifulSoup 庫,首先需要安裝該庫。可以使用 pip 工具進行安裝:


          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文檔進行修改和操作,如新增、刪除標(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)閉