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.