菜鸟笔记
提升您的技术认知

Beautiful Soup安装

阅读 : 1065

Beautiful Soup是Python的一个网页解析库,处理快捷; 支持多种解析器,功能强大。教程细致讲解Beautiful Soup的深入使用、节点选择器、CSS选择器、Beautiful Soup4的方法选择器等重要知识点,是学好爬虫的基础课程。

Beautiful Soup教程-简介及安装

1. 简介

Beautiful Soup的特点:

  1. API简单,功能强大

Beautiful Soup提供一些简单的方法和Python式函数,用于浏览,搜索和修改解析树,它是一个工具箱,通过解析文档为用户提供需要抓取的数据。

  1. 支持多种解析器

Beautiful Soup支持多种解析器,包括Python标准库中的HTML解析器,还支持一些第三方的解析器。

  1. 自动实现编码的转换

Beautiful Soup 自动将输入文档转换成unicode类型,输出文档转换为UTF-8编码。如果文档中没有指定编码,只需我们指定编码即可。

2. 安装Beautiful Soup

目前Beautiful Soup的最新版本是4.x,之前的版本已经停止开发了,所以这里推荐使用beautifulsoup4

安装beautifulsoup4方式:

pip3 install beautifulsoup4

命令执行完毕之后即可完成安装

3. Beautiful Soup解析器

3.1 解析器的安装方法

安装lxml

Beautiful Soup的HTML和XML解析器是依赖于lxml库的,所以在使用之前先安装lxml库。(如果已经安装,请跳过此步)

pip3 install lxml

安装html5lib

另一个可供选择的解析器是纯Python实现的html5libhtml5lib的解析方式与浏览器相同,可以选择下列方法来安装html5lib

pip3 install html5lib

3.2 解析器的优缺点

下表列出了Beautiful Soup支持的主要的解析器以及它们的优缺点:

解析器 使用方法 优势 劣势
Python标准库 BeautifulSoup(markup, "html.parser") Python的内置标准库、执行速度适中、文档容错能力强 Python 2.7.3 or 3.2.2前的版本文档容错能力差
lxml HTML 解析器 BeautifulSoup(markup, "lxml") 速度快、文档容错能力强 需要安装C语言库
lxml XML解析器 BeautifulSoup(markup, ["lxml", "xml"])BeautifulSoup(markup, "xml") 速度快、唯一支持XML的解析器 需要安装C语言库
html5lib BeautifulSoup(markup, "html5lib") 最好的容错性、以浏览器的方式解析文档、生成HTML5格式的文档 速度慢、不依赖外部扩展

推荐使用lxml作为解析器,因为效率更高。在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxmlhtml5lib,因为那些版本Python版本的标准库中内置的HTML解析方法不够稳定。