前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BeautifulSoup库整理

BeautifulSoup库整理

作者头像
小小咸鱼YwY
发布2019-07-24 16:45:02
6890
发布2019-07-24 16:45:02
举报
文章被收录于专栏:python-爬虫python-爬虫

BeautifulSoup库

一.BeautifulSoup库的下载以及使用

1.下载

pip3 install beautifulsoup4

2.使用

improt bs4

二.BeautifulSoup库解析器

解析器

使用方法

优势

劣势

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 lxml
  • lxml的XML解析器:pip3 install lxml
  • html5lib解析器:pip3 install html5lib

三.BeautifulSoup类的5种元素

基本元素

简单说明

详细说明

tag

标签

分别用<>与</>来表示开头和结尾

name

标签的名字

用法:<tag>.name输出为字符串的形式

attributes

标签里的属性

用法:<tag>.attrs输出为字典的形式

navigablestring

标签里的内容

用法:<tag>.string可以跨域多个标签层次

comment

标签里面的注释

一种特殊的comment类型

  • 获取标签方法,解析后的网页.标签的名字,如果同时存在多个标签只取第一个
  • 获取标签的父标签<tag>.parent
  • <tag>表示标签
  • 当标签为没有属性的时候,我们获得的是个空字典

四.标签树向下遍历

  • .contens:子节点列表,不仅仅包括标签节点,也包括字符串节点例如\n
  • .children:子节点的迭代器类型也包括字符串节点例如\n
  • descendants:子孙节点的迭代类型也包括字符串节点例如\n

五.标签树向上遍历

  • .parent:节点的父亲标签
  • .parents:节点先辈标签的迭代器类型

注意:如果是html的父标签就是他自己,soup本身也是种特殊的标签的他的父标签是空

六.标签树平行遍历

  • .next_sibling:下一个平行标签
  • .previous_sibling:上一个平行标签
  • .next_silbings:迭代器类型,向下所有标签
  • .previous_silbling:迭代器类型,向上所有标签

注意:必须在同一个父节点下才有平行关系,平行遍历获得的对象不一定是标签,也可能是文本,如果上下没来就为空

七.prettify使得解析后页面更加好看

解析后的页面

prettify():会把解析的网页加上\n的文本文档,能使它打印变得更加好看

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • BeautifulSoup库
    • 一.BeautifulSoup库的下载以及使用
      • 1.下载
      • 2.使用
    • 二.BeautifulSoup库解析器
      • 三.BeautifulSoup类的5种元素
        • 四.标签树向下遍历
          • 五.标签树向上遍历
            • 六.标签树平行遍历
              • 七.prettify使得解析后页面更加好看
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档