Python-Beautiful Soup库
Beautiful Soup库,也叫beautifulsoup4或bs4
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了.Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
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类的基本元素
基本元素
|
说明 |
---|---|
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) 返回一个列表类型,存储查找的结果
方法
|
说明 |
<>.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库相关推荐
- python爬虫beautifulsoup实例-Python爬虫学习(二)使用Beautiful Soup库
(一)使用Beautiful Soup库(默认将HTML转换为utf-8编码) 1,安装Beautiful Soup库:pip install beautifulsoup4 2,简单使用: impor ...
- Python 网络爬虫笔记5 -- Beautiful Soup库实战
Python 网络爬虫笔记5 – Beautiful Soup库实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. ...
- Python 网络爬虫笔记3 -- Beautiful Soup库
Python 网络爬虫笔记3 – Beautiful Soup库 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程 ...
- python中bs4库_python系统学习2——beautiful soup库(bs4库)学习
beautiful soup库作为python第三方库,可以对html语言进行很好的树形解析,"美味汤"的直译也是在说能够把文档像一锅汤一样进行调制. beautiful soup ...
- 【Python爬虫】Beautiful Soup库入门
BeautifulSoup库的安装 安装 pip install beautifulsoup4 测试是否安装成功 Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2 ...
- python爬虫bs4库_04 Python爬虫之Beautiful Soup库
Beautiful Soup库的安装 Win平台: 以管理员身份运行 cmd 执行 pip install beautifulsoup4 Beautiful Soup库的安装小测 首先,获取网页源码保 ...
- python——爬虫学习——Beautiful Soup库的使用-(2)
Beautiful Soup库 执行pip install beautifulsoup4安装Beautiful Soup库 Beautiful Soup库的简介 Beautiful Soup是一个可以 ...
- Python中的Beautiful Soup库(笔记)
介绍 BeautifulSoup是一种可以从html和xml中快速提取内容的python库,共有四种类型,对于爬虫解析来说,主要用其中的遍历文档树和搜索文档树.BeautifulSoup最主要的功能是 ...
- Beautiful Soup库
Beautiful Soup:美味汤 非常优秀的python第三方库 能够对html.xml格式进行解析,并且提取其中的相关信息 Beautiful Soup可以对你提供给他的任何格式进行相关的爬取, ...
- html标签 补全方法 python,Python Beautiful Soup学习之HTML标签补全功能
Beautiful Soup是一个非常流行的Python模块.该模块可以解析网页,并提供定位内容的便捷接口. 使用下面两个命令安装: pip install beautifulsoup4或者 sudo ...
最新文章
- 论文免费开源:NB-IoT智慧路灯监控系统
- html做旋转的五角星,如何用几何画板制作旋转的五角星
- k8s Service之NodePort
- 图象关于y轴对称是什么意思_数学概念丨“图象”与“图像”是有区别的 ,你知道吗?...
- jsp测试mysql_Jsp登陆与MySQL对接验证
- docker alpine wkhtmltopdf
- tcp 三次握手连接
- 精通MVC3摘译(5)-使用URL模式最佳实践
- 130 MySQL字段完整性约束(重要)
- atitit 英文与中文与阿拉伯文的简化解决方案.docx
- python人脸识别代码实现
- QQ获取好友列表接口 -
- 晚安西南-----尾管悬挂与回接
- 查看显卡型号命令_ubuntu查看显卡型号方法有哪些
- H5 网络版坦克大战
- sql server 系统表 介绍
- 单片机计时器100000秒以内
- 编写一个模拟超市购物程序。
- JAVA的if结构单分支结构简单易懂
- SQL注入漏洞[OWASP TOP 1]
热门文章
- Discovery直播 | 3D“模”术师,还原立体世界——探秘3D建模服务
- 思考思维(1):思考和深度思考总结
- c标签遍历嵌套的List集合
- uboot官方网站以及下载地址
- java反射调用某个类的方法(带参或不带参)
- 威纶通触摸屏和LEADFIX变频器485通讯
- 还能再山寨点吗?(去哪网quna VS 去哪儿网qunar)——记发现的山寨网站经历
- MybatisPlus 之 Sql 注入器
- Python自动化登录网站(图文详解)
- android 5.1 截屏开发,mate7升级安卓5.1后怎么没有指关节截屏?