gpt4 book ai didi

python - BeautifulSoup: AttributeError: 'NavigableString' 对象没有属性 'name'

转载 作者:太空狗 更新时间:2023-10-29 17:01:45 24 4
gpt4 key购买 nike

你知道为什么 BeautifulSoup 教程中的第一个例子 http://www.crummy.com/software/BeautifulSoup/documentation.html#QuickStart给出 AttributeError: 'NavigableString' object has no attribute 'name'?根据this answer HTML 中的空格字符会导致问题。我尝试使用几页的来源,并且 1 工作其他人给出了同样的错误(我删除了空格)。你能解释一下“name”指的是什么以及为什么会发生这个错误吗?谢谢。

最佳答案

name如果对象是 Tag,将引用标签的名称对象(即:<html> name = "html")

如果节点之间的标记中有空格,BeautifulSoup 会将它们变成 NavigableString的。所以如果你使用 contents 的索引要获取节点,您可能会获取 NavigableString而不是下一个 Tag .

为避免这种情况,请查询您要查找的节点:Searching the Parse Tree

或者如果您知道您想要的下一个标签的名称,您可以使用该名称作为属性,它将返回第一个 Tag。用那个名字或None如果不存在具有该名称的 child :Using Tag Names as Members

如果你想使用 contents你必须检查你正在使用的对象。您得到的错误只是意味着您正在尝试访问 name 属性,因为代码假定它是 Tag

关于python - BeautifulSoup: AttributeError: 'NavigableString' 对象没有属性 'name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com