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()
相關鏈接