我想执行以下操作:在HTML文件中,我想通过“ fly”替换所有单词“ bee”(例如)。但是,HTML音乐的所有结构都保持不变。我使用BeautifulSoup(代码如下)进行此操作:
with open(file, 'r', encoding='utf8') as f:
source = f.read()
soup = BeautifulSoup(source, 'html.parser')
for tag in soup:
if type(tag) is not bs4.element.Tag:
continue
new_soup = BeautifulSoup(str(tag).replace('bee', 'fly'))
tag.replace_with(new_soup)
with open(file_out, 'w', encoding='utf8') as f:
f.write(str(soup))
问题是:替换工作正常,但是文件的结构变得丑陋(然后段落从文件中的某个点合并在一起,所以我有纯文本而没有空行等),如果我查看我看到文件的HTML代码结构现在完全不同了(我突然有了一些“ html”标记,而我没有任何标记,依此类推)。
如何在不失去HTML结构的情况下替换HTML文本中的单词?
提前感谢,丹尼斯