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())  #打印格式化后的代码
  • 相关阅读:
    你像一道阳光,照进我的心里
    why
    存储过程 或视图的字符串查询
    C# DataGridView 导出Excle代码和总结(转)
    年夜饭
    登陆SQL Server 2008时提示评估期已过的解决办法
    斐波那契可以考虑的地方?
    解决 UPDATEPANEL 内 ScriptManager1.SetFocus 设置焦点 输入法 变更的问题
    跨域 iframe 读写 cookie的 那点事
    javascript 节点操作
  • 原文地址:https://www.cnblogs.com/start20180703/p/10442401.html
Copyright © 2011-2022 走看看