pip3 install beautifulsoup4
html
improt bs4
html5
解析器 | 使用方法 | 优点 | 劣势 |
---|---|---|---|
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格式的文档 |
速度慢 |
条件 :跨域
bs4的HTML解析器:安装bs4库浏览器
lxml的HTML解析器:pip3 install lxmlcode
lxml的XML解析器:pip3 install lxmlxml
html5lib解析器:pip3 install html5libhtm
基本元素 | 简单说明 | 详细说明 |
---|---|---|
tag | 标签 | 分别用<>与</>来表示开头和结尾 |
name | 标签的名字 | 用法:<tag>.name输出为字符串的形式 |
attributes | 标签里的属性 | 用法:<tag>.attrs输出为字典的形式 |
navigablestring | 标签里的内容 | 用法:<tag>.string能够跨域多个标签层次 |
comment | 标签里面的注释 | 一种特殊的comment类型 |
同时存在多个标签只取第一个
注意:若是是html的父标签就是他本身,soup自己也是种特殊的标签的他的父标签是空对象
注意:必须在同一个父节点下才有平行关系,平行遍历得到的对象不必定是标签,也多是文本,若是上下没来就为空ip
解析后的页面文档
prettify():会把解析的网页加上\n的文本文档,能使它打印变得更加好看