BeautifulSoup中各种html解析器的比較及使用
2024-08-27 04:04:11
Beautiful Soup解析器比較
·Beautiful Soup支持各种html解析器。包含python自带的标准库。还有其它的很多第三方库模块。
当中一个就是lxml
parser,至于lxml parser的安装,能够通过下面方法安装:
1)easy_install lxml
2)pip install lxml
另外。python对于模块的安装,能够查看博客说明。分为两种:easy_install和 pip.
第二种纯python解析器为html5lib解析器。能够像web浏览器那样解析html页面,你能够通过以下两种方式安装html5lib:
1)easy_install html5lib
2)pip install html5lib
以下对各种html解析器的优缺点做一下对照:
解析器 | 用法 | 长处 | 缺点 |
---|---|---|---|
Python’s html.parser | BeautifulSoup(markup,"html.parser") |
|
不能非常好地兼容(before Python 2.7.3 or 3.2.2) |
lxml’s HTML parser | BeautifulSoup(markup,"lxml") |
|
External C dependency |
lxml’s XML parser | BeautifulSoup(markup, "lxml-xml") BeautifulSoup(markup,"xml") | 速度非常快
|
External C dependency |
html5lib | BeautifulSoup(markup, "html5lib") | 1)兼容性非常好 2)能够像web浏览器一样解析html页面 3) Creates valid HTML5 |
|
假设你想追求速度的话。建议使用lxml,假设你使用的python版本号2.x是2.7.3之前的版本号,或者python3.x的是3.2.2之前的版本号。你非常有必要安装使用html5lib或lxml使用。由于python内建的html解析器不能非常好地适应于这些老版本号。
最新文章
- javascript 杂记
- MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)
- Oracle 多表update
- Xcode 6以上版本如何创建一个空的工程(Empty Application)
- 5月25日 DOM
- NOI2013矩阵游戏
- linq to ef(相当于sql中in的用法)查询语句
- 自动文档摘要评价方法:Edmundson,ROUGE
- saltstack_grains
- Centos更改镜像源
- Moo Volume POJ - 2231
- 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题
- pyzmq学习笔记
- mysql 多列索引学习-经典实例
- zabbix3.4安转
- F - 回转寿司 (权值线段树)
- Eclipse sysout 和 fore 不起作用
- JDBC选择数据库实例
- App案例分析——XBMC
- Hadoop Streaming框架使用(二)