pip3 install beautifulsoup4
improt bs4
解析器 | 使用方法 | 优势 | 劣势 |
---|---|---|---|
bs4的HTML解析器 | BeautifulSoup(mk,'html.parser') | Python 的内置标准库执行速度适中文档容错能力强 | Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差 |
lxml的HTML解析器 | BeautifulSoup(mk,'lxml') | 速度快文档容错能力强 | 需要安装C语言库 |
lxml的XML解析器 | BeautifulSoup(mk,'xml') | 速度快唯一支持XML的解析器 | 需要安装C语言库 |
html5lib解析器 | BeautifulSoup(mk,'html5lib') | 最好的容错性以浏览器的方式解析文档生成HTML5格式的文档 | 速度慢 |
条件 :
基本元素 | 简单说明 | 详细说明 |
---|---|---|
tag | 标签 | 分别用<>与</>来表示开头和结尾 |
name | 标签的名字 | 用法:<tag>.name输出为字符串的形式 |
attributes | 标签里的属性 | 用法:<tag>.attrs输出为字典的形式 |
navigablestring | 标签里的内容 | 用法:<tag>.string可以跨域多个标签层次 |
comment | 标签里面的注释 | 一种特殊的comment类型 |
同时存在多个标签只取第一个
注意:如果是html的父标签就是他自己,soup本身也是种特殊的标签的他的父标签是空
注意:必须在同一个父节点下才有平行关系,平行遍历获得的对象不一定是标签,也可能是文本,如果上下没来就为空
解析后的页面
prettify():会把解析的网页加上\n的文本文档,能使它打印变得更加好看