gpt4 book ai didi

Python - 搜索并替换 HTML 中的 splinter 文本

转载 作者:行者123 更新时间:2023-12-01 09:13:57 25 4
gpt4 key购买 nike

我一直在使用一个工具将 pdf 文档转换为 HTML,以便可以更轻松地编辑它们,同时保留尽可能多的格式。我需要做的是将某些短语替换为文本“[已编辑]”,问题是该文本不可预测地被随机标签(主要是跨度标签)分解,因此我不能轻松地使用查找和替换。

作为示例,我需要替换此 html 代码段中的文本“要删除的敏感信息”:

<span class="fs4 fc2">Sensitive<span class="_ _b"> </span>Information to Re<span class="_ _c"></span>move</span>

这样:

<span class="fs4 fc2">[REDACTED]</span>

是否有任何方法可以使用 Beautiful Soup 等库或某种复杂的正则表达式字符串来完成此操作?

最佳答案

要替换 HTML 文档中的文本,您可以使用 BeautifulSoup 提供的 clear()append() 方法 ( manual pages ):

data = """<span class="fs4 fc2">Sensitive<span class="_ _b"> </span>Information to Re<span class="_ _c"></span>move</span>"""

from bs4 import BeautifulSoup

soup = BeautifulSoup(data, 'lxml')

secret_string = "Sensitive Information to Remove"
redacted_string = "[REDACTED]"

while True:
s = soup.body.find(lambda t: t.text==secret_string)
if not s:
break

s.clear()
s.append(redacted_string)

print(soup)

这将打印:

<html><body><span class="fs4 fc2">[REDACTED]</span></body></html>

关于Python - 搜索并替换 HTML 中的 splinter 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51413605/

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