zoukankan      html  css  js  c++  java
  • 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())  #打印格式化后的代码
  • 相关阅读:
    Unknown type '246 in column 3 of 5 in binary-encoded result set
    IOS开发常用的linux命令
    苹果开发中常用英语单词
    ios 中的UI控件学习总结(1)
    Srping MVC+mybatis mapping 多映射 配置
    IIS程序POST请求被触发两次的灵异事件
    文件服务器共享专用端口留档记录
    windows环境配置showdoc在线文档教程
    WindowsSever2008 R2 Standard 共享打印机手顺
    高效计算_七月算法5月深度学习班第2次课程笔记
  • 原文地址:https://www.cnblogs.com/start20180703/p/10442401.html
Copyright © 2011-2022 走看看