BeautifulSoup库学习

本文详细介绍了BeautifulSoup库的使用方法,包括其解析、遍历和维护标签树的功能。解析器支持bs4、lxml和html5lib等,讲解了Tag、Name、Attributes等基本元素,并演示了如何进行标签树的上下和平行遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.BeautifulSoup库简介

Beautiful Soup库,也叫做beautifulsoup4或bs4库,是解析、遍历、维护“标签树”的功能库

标签简单介绍
 <p>...</>:标签Tag  
 <p class = "title">...</p>   p:名称成对出现,class=xxx属性0个或者多个  
2.Beautiful Soup库解析器
  1. bs4的HTML解析器 BeautifulSoup(test,‘html.parser’) 要求安装bs4库
  2. lxml的HTML解析器 BeautifulSoup(test,‘lxml’) 要求pip install lxml
  3. lxml的XML解析器 BeautifulSoup(test,‘xml’) 要求pip install lxml
  4. html5lib的解析器 BeautifulSoup(test,‘html5lib’) 要求 pip install html5lib
3.Beautiful Soup库的基本元素

Tag: 标签,最基本的信息组织单元,分别用<></>标明开头和结尾
Name: 标签的名字 <p>...<p>的名字是'p',格式:<tag>.name
Attributes: 标签的属性,字典形式组织 格式:<tag>.attrs
NavigableString: 标签内非属性字符串,<>...</>中字符串,格式:<tag>.string
Comment:标签内字符串的注释部分,一种特殊的Comment类型

4.标签树的下行遍历

.contents 子节点的列表,将<tag>所有儿子节点存入列表
.children 子节点的迭代类型,与.contents类似,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历

5.标签树的上行遍历

.parent 节点的父亲标签
.parents 节点的先辈标签的迭代类型,用于循环遍历先辈节点

6.标签树的平行遍历

注意:平行遍历发生再同一个父亲节点下的个节点间,遍历包括其中的string

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

7.按html格式输出

.prettify()
为html文本增加换行符号,也可以对单个标签进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值