gpt4 book ai didi

python - 从 Python 字符串中删除不在允许列表中的 HTML 标记

转载 作者:IT老高 更新时间:2023-10-28 21:38:04 24 4
gpt4 key购买 nike

我有一个包含文本和 HTML 的字符串。我想删除或禁用某些 HTML 标记,例如 <script> ,同时允许其他人,以便我可以安全地在网页上呈现它。我有一个允许的标签列表,如何处理字符串以删除任何其他标签?

最佳答案

使用 lxml.html.clean !这很容易!

from lxml.html.clean import clean_html
print clean_html(html)

假设以下html:

html = '''\
<html>
<head>
<script type="text/javascript" src="evil-site"></script>
<link rel="alternate" type="text/rss" src="evil-rss">
<style>
body {background-image: url(javascript:do_evil)};
div {color: expression(evil)};
</style>
</head>
<body onload="evil_function()">
<!-- I am interpreted for EVIL! -->
<a href="javascript:evil_function()">a link</a>
<a href="#" onclick="evil_function()">another link</a>
<p onclick="evil_function()">a paragraph</p>
<div style="display: none">secret EVIL!</div>
<object> of EVIL! </object>
<iframe src="evil-site"></iframe>
<form action="evil-site">
Password: <input type="password" name="password">
</form>
<blink>annoying EVIL!</blink>
<a href="evil-site">spam spam SPAM!</a>
<image src="evil!">
</body>
</html>'''

结果...

<html>
<body>
<div>
<style>/* deleted */</style>
<a href="">a link</a>
<a href="#">another link</a>
<p>a paragraph</p>
<div>secret EVIL!</div>
of EVIL!
Password:
annoying EVIL!
<a href="evil-site">spam spam SPAM!</a>
<img src="evil!">
</div>
</body>
</html>

您可以自定义要清理的元素等等。

关于python - 从 Python 字符串中删除不在允许列表中的 HTML 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/699468/

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