Beautiful Soup解析器比較

·Beautiful Soup支持各种html解析器。包含python自带的标准库。还有其它的很多第三方库模块。

当中一个就是lxml
parser
,至于lxml parser的安装,能够通过下面方法安装:

1)easy_install lxml
  2)pip install lxml
   

另外。python对于模块的安装,能够查看博客说明。分为两种:easy_installpip.

第二种纯python解析器为html5lib解析器。能够像web浏览器那样解析html页面,你能够通过以下两种方式安装html5lib

1)easy_install html5lib
  2)pip install html5lib

以下对各种html解析器的优缺点做一下对照:



解析器 用法 长处 缺点
Python’s html.parser BeautifulSoup(markup,"html.parser")
  • python自身带有
  • 速度比較快
  • 能较好兼容 (as
    of Python 2.7.3 and 3.2.)
不能非常好地兼容(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")    速度非常快

  • The only currently supported XML parser
External C dependency
html5lib BeautifulSoup(markup, "html5lib") 1)兼容性非常好

2)能够像web浏览器一样解析html页面

3) Creates valid HTML5
  • 速度非常慢
  • External Python dependency

假设你想追求速度的话。建议使用lxml,假设你使用的python版本号2.x是2.7.3之前的版本号,或者python3.x的是3.2.2之前的版本号。你非常有必要安装使用html5lib或lxml使用。由于python内建的html解析器不能非常好地适应于这些老版本号。

BeautifulSoup中各种html解析器的比較及使用的更多相关文章

  1. SSM-SpringMVC-23:SpringMVC中初探异常解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客要讲的是异常解析器,SimpleMappingExceptionResolver简单映射异常解析器 可 ...

  2. SSM-SpringMVC-13:SpringMVC中XmlViewResolver视图解析器

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 还记得上篇博客提出来的问题吗? BeanNameViewResolver视图解析器每使用一道视图,就得手工配 ...

  3. SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver

    SpringMVC框架中,处理异常还是挺方便的,提供了一个异常解析器. 处理局部异常 @Controller public class AccessController { /** * 处理这个Con ...

  4. LinuxCNC中RS-274/NGC解析器的编译和使用

    原文 http://blog.sina.com.cn/s/blog_a2a6dd380102vrai.html LinuxCNC是一个著名的开源数控软件,目前最新发行版本是:LinuxCNC 2.6. ...

  5. springmvc中的页面解析器ViewResolver不起作用,变量输出字符串的解决方案

    <web-app xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"> <servlet> <servlet ...

  6. 「Python 编程」编码实现网络请求库中的 URL 解析器

    摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...

  7. lxml.html 中几种解析器的区别(转)

    原文地址:https://blog.csdn.net/chroming/article/details/77104874

  8. Python HTML解析器BeautifulSoup(爬虫解析器)

    BeautifulSoup简介 我们知道,Python拥有出色的内置HTML解析器模块——HTMLParser,然而还有一个功能更为强大的HTML或XML解析工具——BeautifulSoup(美味的 ...

  9. 爬虫中BeautifulSoup4解析器

    CSS 选择器:BeautifulSoup4 和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会 ...

随机推荐

  1. httponlycookie

    cookie cookie是目前标识用户身份一项非常流行的技术:设置httponly的cookie客户端是不能通过js来修改的:你以为这样就万事大吉,没有办法伪造了吗? 背景介绍 假设网站A通过设置h ...

  2. C/C++ struct定义、声明、对齐方式

    一.定义/声明方式 第一种:仅有结构体名,不定义/声明变量 struct MyStruct {  int i:     char a[10];     double b; }:第二种:有结构体名,并声 ...

  3. 安装mask-rcnn问题汇总

    1. I download file from https://github.com/waleedka/coco. Then I placed the file in Mask_RCNN-master ...

  4. jstree的基本使用例子

    var menu = (function() { var _menu = {data:{}, initMenu : function() { $.jstree.defaults.core.themes ...

  5. dutacm.club_1085_Water Problem_(矩阵快速幂)

    1085: Water Problem Time Limit:3000/1000 MS (Java/Others)   Memory Limit:163840/131072 KB (Java/Othe ...

  6. 执行join_paired_ends.py报错Cannot find fastq-join

    通过 conda 安装 qiime 1后,在执行join_paired_ends.py时报错: burrito.util.ApplicationNotFoundError: Cannot find f ...

  7. 05Servlet example

    dgdfgdfggggggg Servlet 表单数据 在客户端,GET通过URL提交数据,数据在URL中可见:POST把数据放在form的数据体内提交.GET提交的数据最多只有1024字节:POST ...

  8. 数据库——DBUtils和连接池

    第一章 DBUtils如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC开发,本案例我们讲采用apache commons组件一个成员:DBUtils.DBUtils就是JDBC的简 ...

  9. Day 14B 网络应用开发

    网络应用开发 发送电子邮件 在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知.网站向用户发送一个激活账号的链接.银行向客户推广它们的理财产品等几乎都 ...

  10. TWaver HTML5之树形布局

    转眼间春节假期已经过完,作为一个职业的程序猿,不知道大家有没有这样的感觉,一天不碰电脑,总觉得生活少点什么.今天是春节后上班的第三天,给大家分享一下我们前段时间的一个需求,需求是这样的:界面中的网元分 ...