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依賴
廣告
© . All rights reserved.