Python中bs4有什么用
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍了Python中bs4有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。了解bs4bs4(Beautiful So
千家信息网最后更新 2025年11月13日Python中bs4有什么用
这篇文章主要介绍了Python中bs4有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
了解bs4
bs4(Beautiful Soup)是一个可以从HTML或XML文件中提取数据的Python库它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式Beautiful Soup会帮你节省数小时甚至数天的工作时间
BeautifulSoup
BeautifulSoup是bs4中非常重要的一个类它利用html或xml文件快速生一个对象我们可以借用该对象的方法和属性快速获取我们需要的数据用法: BeatifulSoup(html, resolver)解析器的选择,根据不同的需求选择响应的解析器

bs4中对象的种类
首先来看一段测试代码:
import bs4import requests# html测试代码 #只包含一个div标签#div中包含一个p标签,一段文本 和 一段注释html =''# 利用html字符串实例化BeautifulSoup对象soup = bs4.BeautifulSoup(html,'html.parser')# 利用.div的方式访问节点print(type(soup.div),'--->',soup.div) # 利用.class的方式访问属性# 打印div节点中的元素和类型for item in soup.div: print(type(item),'--->',item)p标签文本
div中文本
显示结果:

Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构每个节点都是Python对象所有对象可以归纳为4种 Tag , NavigableString , BeautifulSoup , Comment .>Tag对象 html文档中每一个标签都会在BeautifulSoup中以Tag形式出现 Tag中可以包含其他的Tag和其他部分对象 Tag具有许多的属性,可以用于访问标签或其子标签的属性和文本等 例如: Tag.name返回标签名 Tag.string返回标签中的文本信息(Tag仅包含一个文本时,多个用strings) Tag中的属性通过赋值修改,会改动相应html文件中标签>NavigableString对象 Tag中的字符串用NavigableString对象来包装 作为字符串不能被直接编辑,但可以用replace()替换 在BeautifulSoup外调用需使用unicode()方法>BeautifulSoup对象 包含一个文档的全部内容 大多数情况下可以看作是一个大的Tag对象,支持遍历和搜索文档树>Comment 对象 Comment对象是一个特殊的NavigableString对象 用来包装文档中的注释和特殊字符串等
根据需求匹配节点或信息
find和findall方法适用对象:Tag BeautifulSoupfind会返回满足条件的第一个节点findall方法会以列表形式返回满足匹配条件的所有节点Tag.find('a',) # 返回Tag中第一个a标签节点Tag.find('a',class_="hello") # 返回Tag中第一个class为"hello"的a标签Tag.find_all('p',text='p标签文本') # 返回Tag中包含(string属性为'p标签文本'的NavigableString节点)的p标签获取文本信息
string,strings ,text 属性和 get_text()方法以上方法都可以用于获取文本适用对象: string 适用于bs4中的全体对象 (Tag BeautifulSoup NavigableString Comment) strings ,text , get_text() 适用于 Tag BeautifulSoup区别: tag.strings返回一个生成器 可以迭代获取tag节点及其子孙节点中所有的NavigableString节点 返回的是每一个元素类型都是NavigebleString节点 tag.string 当tag的子节点只包含一个NavigebleString节点,返回该节点 当tag只有一个子节点时,返回该子节点的string属性的返回值 此外均返回None tag.get_text()返回一个字符串 用于捕获该节点的所有子孙节点中的非注释文本(即NavigebleString节点的string返回值) tag.text 在bs4源码中text是接收get_text()返回值的变量 等同于tag.get_text()
感谢你能够认真阅读完这篇文章,希望小编分享的"Python中bs4有什么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
节点
对象
标签
文本
属性
文档
方法
字符
字符串
篇文章
信息
文件
方式
注释
复杂
特殊
代码
元素
形式
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
dnf 单机 数据库崩溃
数据库图形化工具 spon
数据库超市管理系统绪论
一季度服务器排名中国
公众号支付软件开发
中小企业使用云服务器有什么好处
软件开发需要的准备工作
武汉时捷软件开发有限公司
ps4荒野大镖客2与服务器断开
服务器数据加密
网络安全模式无法开机黑屏
离线应服务器
对日java软件开发流程
小程序数据库范围筛选
内蒙全球网络时钟服务器
计算机网络技术自学考试重点
MCU软件开发用什么语言
网络安全宣传画视频
网络工程和软件开发哪个难学
小米基因互联网黑科技
常用的数据库或检索系统的对比
数据库的安全性 完整性控制
中小企业使用云服务器有什么好处
邮储银行软件开发中心入职
关于网络安全知识竞赛的英语作文
电信做数据库运维工资高吗
webmail服务器
软件开发可申请费用
网络技术服务价格
服务器断电自启动