Python

Beautiful Soup简介及安装

文 / 大炳哥 来源 / 原创 阅读 / 7629 5年前

1. 简介

Beautiful Soup的特点:

  • API简单,功能强大

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

  • 支持多种解析器

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

  • 自动实现编码的转换

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解析方法不够稳定。

9

评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2019 The Pride & Joy of an Artisan. · Designed By duoguyu · Powered By Django京ICP备19006898号-1 开往-友链接力
相关侵权、举报、投诉及建议等,请发E-mail:lemont0086@163.com

友情链接: 大炳哥的博客 逐梦个人博客 十年之约 青城 涛博客 Thrive Blog 关关和六六 扶苏 穿梭虫洞 浪海导航 甜鱼 七月的栀子 往日信笺 Muyun99的杂谈