• HTML解析之BeautifulSoup


      BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。BeautifulSoup提供一些简单的、函数用来处理导航、搜索、修改分析树等功能。BeautifulSoup模块中的查找提取功能非常强大,而且非常便捷,它通常可以节省程序员数小时或数天的工作时间。

      BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,BeautifulSoup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

    1、安装,先装bs4,再装BeautifulSoup4

    BeautifulSoup支持python标准库中包含的HTML解析器,但它也支持许多第三方python解释器,其中包含lxml解释器。这个安装就行。

      另一个解释器是html5lib,它是一个解析HTML的python库,按照web浏览器的方式解析HTML。这个安装就行

    解释器的优缺点:

     解释器  用法 优点   缺点
     Python标准库 BeautifulSoup(markup,'html.parser') 

    Python标准库   执行速度适中 

    部分版本中文档容错能力差 
     lxml的HTML解释器 BeautifulSoup(markup,'lxml')   速度快,文档容错能力强  需要安装c语言库
     lxml的XML解释器

    BeautifulSoup(markup,'lxml-xml')

    BeautifulSoup(markup,'xml') 

     速度快

    唯一支持xml的解析器

    需要安装c语言库 
     html5lib BeautifulSoup(markup,'html5lib') 

    最好的容错性

    以浏览器的方式解析文档生成HTML5格式的文档 

    速度慢

    不依赖外部扩展 

    2、BeautifulSoup的使用

    下面用BeautifulSoup进行HTML的解析工作,具体如下:

    from bs4 import BeautifulSoup
    
    #创建一个BeautifulSoup对象,获取页面正文
    soup=BeautifulSoup(open('test.html'),features='lxml')
    print(soup.prettify())  #打印格式化后的代码
  • 相关阅读:
    python学习笔记(一)--之list与tuple
    centos 安装redis3.0为解决数据库频繁插入数据IO性能问题
    Win32汇编木马初探
    Knockout自定义绑定my97datepicker
    iTextSharp给PDF添加水印
    技术资料整理
    css模拟阴影和小三角
    统计一个部门有多少人
    js登录界面带提示
    程序员给女朋友用HTML5制作的3D相册 (www.webhek.com)<转摘>
  • 原文地址:https://www.cnblogs.com/start20180703/p/10442401.html
Copyright © 2020-2023  润新知