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屬性中的文本。BeautifulSoup查找和替換文本引起HTML問題
如何檢查當前的NavigableString是否屬於某個屬性,以便我可以跳過它?
這是我的理解,find_all()不會給你屬性值的NavigableStrings。你確定你正在獲取屬性值內的NavigableStrings嗎? – Ansari
你可以發佈一個小的html樣本來演示你的問題嗎? –
嗨,我發現返回對象確實是一個Comment對象,而不是NavigableString。謝謝你的支持@Ansari –