遇到“NavigableString“object has no attribute “text“的解决方法(全)

NavigableString 在BeautifulSoup对象中,是表示解析树中的文本内容。

可以按照字面意义上理解为可遍历字符串,是BeautifulSoup对象四种类型之一, 属于bs4.element.NavigableString

和另一种常见到的 bs4.element.Tag不同。Tag是可以通过.text 获取文本,通过a.attrs[‘href’] 来获得href,而NavigableString不能。

它们是 解析网页源码 HTML 或 XML 文档后,生成的四种类型:

Tag:表示文档中的一个标签(如 <a>、<p>、<div> 等)。每个 Tag 对象都有属性和子元素,可以通过它们访问标签的内容和属性。

NavigableString:表示标签内的文本内容。它是一个字符串类型的对象,包含标签内的文本。

BeautifulSoup:表示整个文档的对象。它是一个特殊的 Tag 对象,通常用于解析整个 HTML 或 XML 文档。

Comment:表示 HTML 注释。它是一个特殊类型的 NavigableString,包含注释的内容。

有时候在获取json格式,解析BeautifulSoup的时候,可能会遇到这个问题:

‘NavigableString’ object has no attribute ‘text’

那可能是在 NavigableString 对象上调用 .text 属性,因此就会出现 的错误。

以下是一些解决这个问题的方法:

1. 使用string转换为字符串

bs4.element.NavigableString是通过.string来调用的,用来获取便签内部的文

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值