開始使用 beautifulsoup

在本節中,我們將討論 Beautiful Soup 是什麼,它的用途以及如何使用它的簡要概述。

Beautiful Soup 是一個 Python 庫,它使用你預先安裝的 html / xml 解析器,並將網頁/ html / xml 轉換為由標籤,元素,屬性和值組成的樹。更確切地說,樹由四種型別的物件組成,Tag,NavigableString,BeautifulSoup 和 Comment。然後可以使用從解析器庫建立的 BeautifulSoup 物件的方法/屬性查詢此樹。

你的需求: 通常,你可能會滿足以下需求之一:

  1. 你可能需要解析網頁以確定,找到了多少標籤,找到每個標籤的元素數量及其值。你可能想要更改它們。

  2. 你可能希望確定元素名稱和值,以便可以將它們與其他庫一起用於網頁自動化,例如 Selenium

  3. 你可能希望將網頁中顯示的資料傳輸/提取為其他格式,例如 CSV 檔案或關聯式資料庫(如 SQLite 或 mysql)。在這種情況下,儘管你將使用其他庫來執行傳輸操作,但庫可幫助你瞭解網頁結構的第一步。

  4. 你可能想知道使用某種 CSS 樣式設定了多少個元素以及哪些元素。

**** Python 程式碼中典型基本用法的順序

  1. 匯入 Beautiful Soup 庫

  2. 使用 BeautifulSoup 庫開啟網頁或 html 文字,提及要使用的解析器。此步驟的結果是 BeautifulSoup 物件。 (注意:提到的這個解析器名稱必須已經作為 Python pacakges 的一部分安裝。例如,html.parser 是 Python 附帶的內建帶電池軟體包。你可以安裝其他解析器,如 lxmlhtml5lib 。)

  3. 查詢或使用語法'object.method'搜尋 BeautifulSoup 物件,並將結果獲取到集合中,例如 Python 字典。對於某些方法,輸出將是一個簡單的值。

  4. 使用上一步中的結果,在其餘的 Python 程式碼中執行你想要執行的操作。你還可以修改樹物件中的元素值或屬性值。修改不會影響 html 程式碼的來源,但你可以呼叫輸出格式化方法(例如 prettify)以從 BeautifulSoup 物件建立新輸出。

常用方法: 通常,.find.find_all 方法用於搜尋樹,給出輸入引數。

輸入引數是:正在搜尋的標記名稱,屬性名稱和其他相關引數。這些引數可以表示為:字串,正規表示式,列表甚至函式。

**** BeautifulSoup 物件的常見用途包括:

  1. 按 CSS 類搜尋
  2. 按超連結地址搜尋
  3. 按元素 ID 搜尋,標記
  4. 按屬性名稱搜尋。屬性值。

如果你需要使用上述條件的組合過濾樹,你還可以編寫一個計算結果為 true 或 false 的函式,並按該函式進行搜尋。