gpt4 book ai didi

python - 检查 BeautifulSoup 中的属性?

转载 作者:太空狗 更新时间:2023-10-29 17:15:54 25 4
gpt4 key购买 nike

我通过使用 nextSibling 遍历特定级别的元素来解析 HTML 中的一些数据,并根据遇到的每个元素的标签名称和类执行不同的操作。

例如,

if n.name == "p" and n.class == "poem": blah()

但是如果元素没有类或者它不是 Tag 的实例因此没有名称,这会引发错误。

这样访问前测试

if "name" in n:

总是返回错误。我可以检查 nextSibling 返回的对象的类型以尝试清除 NavigableString 和 Comment,但必须有更简单的方法。

编辑

向 BeautifulSoup 的开发人员发送了这个问题,他建议使用

进行测试
n.get("class")

如果未设置“class”,则返回 None,这使得可以只做:

if n.get("class") == "poem": blah()

最佳答案

除了使用get()方法

n.get("class")

另一种选择是使用 has_attr()(在 BeautifulSoup 4 之前使用 has_key()):

n.has_attr("class")

关于python - 检查 BeautifulSoup 中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003832/

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