gpt4 book ai didi

python - BeautifulSoup 查找和替换文本会导致 HTML 问题

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:11 25 4
gpt4 key购买 nike

for finding in soup.findAll(text=reg_compiled_keyword):
if finding.parent.name == "img":
continue

new_text = re.sub(reg_compiled_keyword,cls.keyword_replace_tmpl.format(escaped_kw,id,escaped_kw),finding)

finding.replaceWith(new_text)

For 循环返回 NavigableString 对象,如果我使用替换函数,它还会替换属性中的文本,这当然会导致无效的 HTML。

如何检查当前 NavigableString 是否在属性内以便我可以跳过它?

最佳答案

据我了解,find_all() 不会为您提供作为属性值的 NavigableString。您确定获得的 NavigableString 位于属性值范围内吗?

假设你能以某种方式或者我错了,试试这个看看你拥有的是否是一个属性值。

finding.string in finding.parent.attrs.values()

(当然,在此之前检查 .parent 和 .parent.attrs() 是有效的对象))

如果 NavigableString finding 是一个属性值,这将返回 True

如果您想查看 finding 是否是一个属性(而不是属性值),那么您可以将 values() 替换为 keys().

关于python - BeautifulSoup 查找和替换文本会导致 HTML 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665311/

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