- Beautiful Soup 教程
- Beautiful Soup - 首頁
- Beautiful Soup - 概述
- Beautiful Soup - 網路抓取
- Beautiful Soup - 安裝
- Beautiful Soup - 頁面解析
- Beautiful Soup - 物件型別
- Beautiful Soup - 檢查資料來源
- Beautiful Soup - 抓取HTML內容
- Beautiful Soup - 透過標籤導航
- Beautiful Soup - 透過ID查詢元素
- Beautiful Soup - 透過類查詢元素
- Beautiful Soup - 透過屬性查詢元素
- Beautiful Soup - 搜尋樹
- Beautiful Soup - 修改樹
- Beautiful Soup - 解析文件的一部分
- Beautiful Soup - 查詢元素的所有子元素
- Beautiful Soup - 使用CSS選擇器查詢元素
- Beautiful Soup - 查詢所有註釋
- Beautiful Soup - 從HTML中抓取列表
- Beautiful Soup - 從HTML中抓取段落
- BeautifulSoup - 從HTML中抓取連結
- Beautiful Soup - 獲取所有HTML標籤
- Beautiful Soup - 獲取標籤內的文字
- Beautiful Soup - 查詢所有標題
- Beautiful Soup - 提取標題標籤
- Beautiful Soup - 提取郵箱ID
- Beautiful Soup - 抓取巢狀標籤
- Beautiful Soup - 解析表格
- Beautiful Soup - 選擇第n個子元素
- Beautiful Soup - 透過標籤內的文字搜尋
- Beautiful Soup - 刪除HTML標籤
- Beautiful Soup - 刪除所有樣式
- Beautiful Soup - 刪除所有指令碼
- Beautiful Soup - 刪除空標籤
- Beautiful Soup - 刪除子元素
- Beautiful Soup - find vs find_all
- Beautiful Soup - 指定解析器
- Beautiful Soup - 比較物件
- Beautiful Soup - 複製物件
- Beautiful Soup - 獲取標籤位置
- Beautiful Soup - 編碼
- Beautiful Soup - 輸出格式
- Beautiful Soup - 美化輸出
- Beautiful Soup - NavigableString 類
- Beautiful Soup - 將物件轉換為字串
- Beautiful Soup - 將HTML轉換為文字
- Beautiful Soup - 解析XML
- Beautiful Soup - 錯誤處理
- Beautiful Soup - 故障排除
- Beautiful Soup - 移植舊程式碼
- Beautiful Soup - 函式參考
- Beautiful Soup - contents 屬性
- Beautiful Soup - children 屬性
- Beautiful Soup - string 屬性
- Beautiful Soup - strings 屬性
- Beautiful Soup - stripped_strings 屬性
- Beautiful Soup - descendants 屬性
- Beautiful Soup - parent 屬性
- Beautiful Soup - parents 屬性
- Beautiful Soup - next_sibling 屬性
- Beautiful Soup - previous_sibling 屬性
- Beautiful Soup - next_siblings 屬性
- Beautiful Soup - previous_siblings 屬性
- Beautiful Soup - next_element 屬性
- Beautiful Soup - previous_element 屬性
- Beautiful Soup - next_elements 屬性
- Beautiful Soup - previous_elements 屬性
- Beautiful Soup - find 方法
- Beautiful Soup - find_all 方法
- Beautiful Soup - find_parents 方法
- Beautiful Soup - find_parent 方法
- Beautiful Soup - find_next_siblings 方法
- Beautiful Soup - find_next_sibling 方法
- Beautiful Soup - find_previous_siblings 方法
- Beautiful Soup - find_previous_sibling 方法
- Beautiful Soup - find_all_next 方法
- Beautiful Soup - find_next 方法
- Beautiful Soup - find_all_previous 方法
- Beautiful Soup - find_previous 方法
- Beautiful Soup - select 方法
- Beautiful Soup - append 方法
- Beautiful Soup - extend 方法
- Beautiful Soup - NavigableString 方法
- Beautiful Soup - new_tag 方法
- Beautiful Soup - insert 方法
- Beautiful Soup - insert_before 方法
- Beautiful Soup - insert_after 方法
- Beautiful Soup - clear 方法
- Beautiful Soup - extract 方法
- Beautiful Soup - decompose 方法
- Beautiful Soup - replace_with 方法
- Beautiful Soup - wrap 方法
- Beautiful Soup - unwrap 方法
- Beautiful Soup - smooth 方法
- Beautiful Soup - prettify 方法
- Beautiful Soup - encode 方法
- Beautiful Soup - decode 方法
- Beautiful Soup - get_text 方法
- Beautiful Soup - diagnose 方法
- Beautiful Soup 有用資源
- Beautiful Soup - 快速指南
- Beautiful Soup - 有用資源
- Beautiful Soup - 討論
Beautiful Soup - 安裝
Beautiful Soup是一個庫,它可以輕鬆地從網頁中抓取資訊。它位於HTML或XML解析器的頂部,提供Python風格的習慣用法來迭代、搜尋和修改解析樹。
BeautifulSoup包不是Python標準庫的一部分,因此必須安裝它。在安裝最新版本之前,讓我們根據Python推薦的方法建立一個虛擬環境。
虛擬環境允許我們為特定專案建立Python的隔離工作副本,而不會影響外部設定。
我們將使用Python標準庫中的venv模組來建立虛擬環境。PIP預設包含在Python 3.4或更高版本中。
使用以下命令在Windows上建立虛擬環境
C:\uses\user\>python -m venv myenv
在Ubuntu Linux上,如果需要,請先更新APT倉庫並安裝venv,然後再建立虛擬環境
mvl@GNVBGL3:~ $ sudo apt update && sudo apt upgrade -y mvl@GNVBGL3:~ $ sudo apt install python3-venv
然後使用以下命令建立一個虛擬環境
mvl@GNVBGL3:~ $ sudo python3 -m venv myenv
您需要啟用虛擬環境。在Windows上使用命令
C:\uses\user\>cd myenv C:\uses\user\myenv>scripts\activate (myenv) C:\Users\users\user\myenv>
在Ubuntu Linux上,使用以下命令啟用虛擬環境
mvl@GNVBGL3:~$ cd myenv mvl@GNVBGL3:~/myenv$ source bin/activate (myenv) mvl@GNVBGL3:~/myenv$
虛擬環境的名稱顯示在括號中。現在它已被啟用,我們可以安裝BeautifulSoup。
(myenv) mvl@GNVBGL3:~/myenv$ pip3 install beautifulsoup4
Collecting beautifulsoup4
Downloading beautifulsoup4-4.12.2-py3-none-any.whl (142 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
143.0/143.0 KB 325.2 kB/s eta 0:00:00
Collecting soupsieve>1.2
Downloading soupsieve-2.4.1-py3-none-any.whl (36 kB)
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.12.2 soupsieve-2.4.1
請注意,Beautifulsoup4的最新版本是4.12.2,需要Python 3.8或更高版本。
如果您沒有安裝easy_install或pip,您可以下載Beautiful Soup 4原始碼壓縮包並使用setup.py安裝它。
(myenv) mvl@GNVBGL3:~/myenv$ python setup.py install
要檢查Beautifulsoup是否已正確安裝,請在Python終端中輸入以下命令:
>>> import bs4 >>> bs4.__version__ '4.12.2'
如果安裝不成功,您將收到ModuleNotFoundError。
您還需要安裝requests庫。它是一個用於Python的HTTP庫。
pip3 install requests
安裝解析器
預設情況下,Beautiful Soup支援Python標準庫中包含的HTML解析器,但它也支援許多外部第三方Python解析器,如lxml解析器或html5lib解析器。
要安裝lxml或html5lib解析器,請使用命令
pip3 install lxml pip3 install html5lib
這些解析器具有如下所示的優缺點:
解析器:Python的html.parser
用法 − BeautifulSoup(markup, "html.parser")
優點
- 自帶電池
- 速度適中
- 寬鬆(從Python 3.2開始)
缺點
- 不如lxml快,不如html5lib寬鬆。
解析器:lxml的HTML解析器
用法 − BeautifulSoup(markup, "lxml")
優點
- 非常快
- 寬鬆
缺點
-
外部C依賴
解析器:lxml的XML解析器
用法 − BeautifulSoup(markup, "lxml-xml")
或 BeautifulSoup(markup, "xml")
優點
- 非常快
- 當前唯一支援的XML解析器
缺點
- 外部C依賴
解析器:html5lib
用法 − BeautifulSoup(markup, "html5lib")
優點
- 非常寬鬆
- 與網頁瀏覽器一樣解析頁面
- 建立有效的HTML5
缺點
- 非常慢
- 外部Python依賴