Beautiful Soup库,也叫beautifulsoup4或bs4

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了.Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

Beautiful Soup库

Beautiful Soup库
解析器 使用方法 安装条件
bs4的HTML解析器 BeautifulSoup(mk, 'html.parser') 安装bs4库
lxml的HTML解析器 BeautifulSoup(mk, 'lxml') pip install lxml
lxml的XML解析器 BeautifulSoup(mk, 'xml') pip install lxml
html5lib的解析器 BeautifulSoup(mk, 'html5lib') pip install html5lib

Beautiful Soup类的基本元素

Beautiful Soup类的基本元素
基本元素
说明
Tag
标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾
Name
标签的名字,<p>...</p>的名字是'p',格式:<tag>.name
Attributes
标签的属性,字典形式组织,格式:<tag>.attrs
NavigableString

标签内非属性字符串,<>...</>中字符串,格式:<tag>.string

Comment
标签内字符串的注释部分,一种特殊的Comment类型

基于bs4库的HTML内容遍历方法

  • 标签树的下行遍历:

属性 说明
.contents
子节点的列表,将<tag>所有儿子节点存入列表
.children
子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants
子孙节点的迭代类型,包含所有子孙节点,用于循环遍历
  • 标签树的上行遍历:

属性 说明
.parent 节点的父亲节点
.parents 节点先辈标签的迭代类型,用于循环遍历先辈的节点
  • 标签树的平行遍历:

属性 说明
.next_sibling
返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling
返回按照HTML文本顺序的上一个平行节点标签
.next_siblings
迭代类型,返回按照HTML文本顺序的后续所有平行结点标签
.previous_siblings
迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

基于bs4库的HTML内容查找方法

<>.find_all(name, attrs, recursive, string, **kwargs) 返回一个列表类型,存储查找的结果

name:对标签名称的检索字符串 soup.find_all(['a','b'])
attrs:对标签属性值的检索字符串,可标注属性检索 soup.find_all('p', 'course')  soup.find_all(id='link1')
recursive:是否对子孙全部检索,默认True soup.find_all('a', recursive=False)
string:<>...</>中字符串区域的检索字符串 soup.find_all(string = re.compile('python'))
<tag>(...) 等价于 <tag>.find_all(...) soup(...) 等价于 soup.find_all(...)
方法
说明
<>.find()
搜索且只返回一个结果,字符串类型,同 .find_all()参数
<>.find_parents()
在先辈节点中搜索,返回列表类型,同 .find_all()参数
<>.find_parent()
在先辈节点中返回一个结果,字符串类型,同 .find_all()参数
<>.find_next_siblings()
在后续平行节点中搜索,返回列表类型,同 .find_all()参数
<>.find_next_sibling()
在后续平行节点中返回一个结果,字符串类型,同 .find_all()参数
<>.find_previous_siblings()
在前序平行节点中搜索,返回列表类型,同 .find_all()参数
<>.find_previous_sibling()
在前序平行节点中返回一个结果,字符串类型,同 .find_all()参数

Python-Beautiful Soup库相关推荐

  1. python爬虫beautifulsoup实例-Python爬虫学习(二)使用Beautiful Soup库

    (一)使用Beautiful Soup库(默认将HTML转换为utf-8编码) 1,安装Beautiful Soup库:pip install beautifulsoup4 2,简单使用: impor ...

  2. Python 网络爬虫笔记5 -- Beautiful Soup库实战

    Python 网络爬虫笔记5 – Beautiful Soup库实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. ...

  3. Python 网络爬虫笔记3 -- Beautiful Soup库

    Python 网络爬虫笔记3 – Beautiful Soup库 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程 ...

  4. python中bs4库_python系统学习2——beautiful soup库(bs4库)学习

    beautiful soup库作为python第三方库,可以对html语言进行很好的树形解析,"美味汤"的直译也是在说能够把文档像一锅汤一样进行调制. beautiful soup ...

  5. 【Python爬虫】Beautiful Soup库入门

    BeautifulSoup库的安装 安装 pip install beautifulsoup4 测试是否安装成功 Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2 ...

  6. python爬虫bs4库_04 Python爬虫之Beautiful Soup库

    Beautiful Soup库的安装 Win平台: 以管理员身份运行 cmd 执行 pip install beautifulsoup4 Beautiful Soup库的安装小测 首先,获取网页源码保 ...

  7. python——爬虫学习——Beautiful Soup库的使用-(2)

    Beautiful Soup库 执行pip install beautifulsoup4安装Beautiful Soup库 Beautiful Soup库的简介 Beautiful Soup是一个可以 ...

  8. Python中的Beautiful Soup库(笔记)

    介绍 BeautifulSoup是一种可以从html和xml中快速提取内容的python库,共有四种类型,对于爬虫解析来说,主要用其中的遍历文档树和搜索文档树.BeautifulSoup最主要的功能是 ...

  9. Beautiful Soup库

    Beautiful Soup:美味汤 非常优秀的python第三方库 能够对html.xml格式进行解析,并且提取其中的相关信息 Beautiful Soup可以对你提供给他的任何格式进行相关的爬取, ...

  10. html标签 补全方法 python,Python Beautiful Soup学习之HTML标签补全功能

    Beautiful Soup是一个非常流行的Python模块.该模块可以解析网页,并提供定位内容的便捷接口. 使用下面两个命令安装: pip install beautifulsoup4或者 sudo ...

最新文章

  1. 论文免费开源:NB-IoT智慧路灯监控系统
  2. html做旋转的五角星,如何用几何画板制作旋转的五角星
  3. k8s Service之NodePort
  4. 图象关于y轴对称是什么意思_数学概念丨“图象”与“图像”是有区别的 ,你知道吗?...
  5. jsp测试mysql_Jsp登陆与MySQL对接验证
  6. docker alpine wkhtmltopdf
  7. tcp 三次握手连接
  8. 精通MVC3摘译(5)-使用URL模式最佳实践
  9. 130 MySQL字段完整性约束(重要)
  10. atitit 英文与中文与阿拉伯文的简化解决方案.docx
  11. python人脸识别代码实现
  12. QQ获取好友列表接口 -
  13. 晚安西南-----尾管悬挂与回接
  14. 查看显卡型号命令_ubuntu查看显卡型号方法有哪些
  15. H5 网络版坦克大战
  16. sql server 系统表 介绍
  17. 单片机计时器100000秒以内
  18. 编写一个模拟超市购物程序。
  19. JAVA的if结构单分支结构简单易懂
  20. SQL注入漏洞[OWASP TOP 1]

热门文章

  1. Discovery直播 | 3D“模”术师,还原立体世界——探秘3D建模服务
  2. 思考思维(1):思考和深度思考总结
  3. c标签遍历嵌套的List集合
  4. uboot官方网站以及下载地址
  5. java反射调用某个类的方法(带参或不带参)
  6. 威纶通触摸屏和LEADFIX变频器485通讯
  7. 还能再山寨点吗?(去哪网quna VS 去哪儿网qunar)——记发现的山寨网站经历
  8. MybatisPlus 之 Sql 注入器
  9. Python自动化登录网站(图文详解)
  10. android 5.1 截屏开发,mate7升级安卓5.1后怎么没有指关节截屏?