Python 爬蟲之 Beautiful Soup4 提取網頁中的數據

最近更新時間 2020-11-26 17:33:24

Beautiful Soup 是一個可以從 HTML 或 XML 文件中提取數據的 Python 庫。能夠通過你喜歡的轉換器實現文檔導航、查找和修改文檔。能夠修復含有未閉合標籤的錯誤文檔(此種文檔常被稱為 tag soup)。

安裝Beautiful Soup4

Beautiful Soup4 當前最新的版本為 Beautiful Soup 4.9.3 (2020-10-03 15:41)。可以通過如下 pip 命令安裝:

pip install beautifulsoup4

Beautiful Soup4 支持 lxml 和 html5lib 解析器,建議安裝 lxml。

pip install lxml
安裝特定版本
pip install lxml==3.4.2

Beautiful Soup4 支持 Python 2 (2.7+)和 Python 3。2020年12月31日停止支持 Python 2 版本。

已过期

Beautiful Soup4 於2020年12月31日停止對 Python 2 版本的支持。

解析網頁

下面介紹解析網頁數據和幾個簡單獲取數據的方法。

# coding=utf-8

from urllib.request import urlopen
from bs4 import BeautifulSoup

with urlopen('https://docsxyz.com/wiki/news/rainbow-six-siege-next-gen-update-1126') as f:
    content = f.read().decode('utf-8')
    
    soup = BeautifulSoup(content, "lxml")

    # 獲取網頁標題
    title = soup.title.string
    # PS5 和 XSX 玩家看過來,《彩虹六號:圍攻行動》終於出 4K 120 fps 模式了! - Docsxyz

    # 獲取第一個 p 元素
    p = soup.p
    # <p class="mt-title-post">12月1日可以免費升級</p>

    # 獲取頁面中所有 p 元素
    ps = soup.find_all('p')
    # [<p>.....</p>, <p>.....</p>, <p>.....</p>]

    # 格式化輸出 HTML
    soup.prettify()

相關鏈接

rss_feed