[英]How to remove links from HTML completely with Bleach?
Bleach從 HTML 中剝離非白名單標簽,但留下子節點,例如
>>> import bleach
>>> bleach.clean("<a href="">stays</a>", strip=True, tags=[])
'stays'
>>>
如何刪除整個元素及其子元素?
你應該使用lxml
。 Bleach 僅用於清理數據並確保您存儲的標記的安全性。
您可以使用lxml
來解析結構化數據,例如 HTML 或 XML。
考慮一個簡單的 html 文件;
<html>
<body>
<p>Hello, World!</p>
</body>
</html>
from lxml import html
root = html.parse("hello_world.html").getroot()
print(html.tostring(root))
# <html><body><p>Hello, World!</p></body></html>
p = root.find("body/p")
p.drop_tree()
print(html.tostring(root))
# <html><body></body></html>
在相關說明中,如果您想使用lxml
研究一些更高級的解析,我在這里最古老的問題之一是讓 python 解析 xml 並從中編寫 python 代碼。 編寫一個 Python 工具將 XML 轉換為 Python?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.