Beautiful Soup - 概述



在當今世界,我們擁有大量的非結構化資料/資訊(主要是網頁資料)可免費獲取。有時這些免費資料易於閱讀,有時則不然。無論您的資料如何呈現,網頁抓取都是將非結構化資料轉換為易於閱讀和分析的結構化資料非常有用的工具。換句話說,網頁抓取是一種收集、組織和分析海量資料的方法。那麼,讓我們首先了解什麼是網頁抓取。

Beautiful Soup 簡介

Beautiful Soup 是一個 Python 庫,其名稱源於劉易斯·卡羅爾在《愛麗絲夢遊仙境》中同名詩歌。Beautiful Soup 是一個 Python 包,顧名思義,它解析不需要的資料,並透過修復錯誤的 HTML 並以易於遍歷的 XML 結構呈現給我們,從而幫助組織和格式化混亂的網頁資料。

簡而言之,Beautiful Soup 是一個 Python 包,允許我們從 HTML 和 XML 文件中提取資料。

HTML 樹結構

在深入瞭解 Beautiful Soup 提供的功能之前,讓我們首先了解 HTML 樹結構。

HTML tree structure

文件樹中的根元素是 html,它可以有父節點、子節點和兄弟節點,這由它在樹結構中的位置決定。要在 HTML 元素、屬性和文字之間移動,您必須在樹結構中的節點之間移動。

讓我們假設網頁如下所示:

webpage

這轉換為如下所示的 html 文件:

<html>
   <head>
      <title>TutorialsPoint</title>
   </head>
   <body>
      <h1>Tutorialspoint Online Library</h1>
      <p><b>It's all Free</b></p>
   </body>
</html>

這僅僅意味著,對於上面的 html 文件,我們有如下所示的 html 樹結構:

Html Tree Structure
廣告