使用Python从页面中删除HTML标记内容

使用Python从页面中删除HTML标记内容,python,html,replace,Python,Html,Replace,我有一个HTML文件,如下所示: 微生物学 初级稀释 一些内容包括“prima Dilizione” 二次稀释 一些内容包括“第二稀释液” 特尔扎稀释液 一些内容包括“terza diluizione” 问题描述: 我正试图修改包含单词diluizione的标题,以将该单词及其前缀替换为“diluizione serial”。我尝试使用Pythonreplace(),问题是即使是段落中的行也会被截断,而我只希望修改h1标记中的行。除此之外,我还没有找到一种自动去掉前缀的方法,即“Prima”

我有一个HTML文件,如下所示:


微生物学
初级稀释
一些内容包括“prima Dilizione”

二次稀释 一些内容包括“第二稀释液”

特尔扎稀释液 一些内容包括“terza diluizione”

问题描述:

我正试图修改包含单词
diluizione
的标题
,以将该单词及其前缀替换为“diluizione serial”。我尝试使用Python
replace()
,问题是即使是
段落中的行也会被截断,而我只希望修改h1标记中的行。除此之外,我还没有找到一种自动去掉前缀的方法,即“Prima”、“Seconda”、“Terza”等

我尝试使用的代码

我现在想到了这个:

打开('./home.html')作为文件的
:
text=file.read()
如果文本中有“diluizione”:
text=text.replace(“稀释液”、“稀释液系列”)
但这会产生:


Prima diluizione系列
一些内容包括“prima Dilizione系列”

第二稀释液系列 一些内容包括“seconda Dilizione系列”

特尔扎稀释液系列 一些内容包括“terza Dilizione系列”

如您所见,即使是
标记中的文本也会受到影响,前缀的标题仍然存在

我的期望输出将是:


稀释液系列
一些内容包括“prima Dilizione”

稀释液系列 一些内容包括“第二稀释液”

稀释液系列 一些内容包括“terza diluizione”


非常感谢您提供的任何帮助或建议,提前表示感谢。

请查看。与其尝试进行sting插值,不如将HTML解析为一个结构,然后从那里遍历它,看一看。与其尝试进行sting插值,不如将HTML解析成一个结构,然后从那里遍历它

您可以通过Pythons
re
模块使用正则表达式来实现这一点。为了只过滤
h1
标记中的文本,您可以使用
正向后向
正向前向
策略

代码:

重新导入
打开(“path/to/home.html”)作为文件:
text=file.read()

text=re.sub((?您可以通过Pythons
re
模块使用正则表达式来实现这一点。为了只过滤
h1
标记中的文本,您可以使用
正向后向
正向前向
策略

代码:

重新导入
打开(“path/to/home.html”)作为文件:
text=file.read()

text=re.sub(“(?谢谢你的回答!我选择了正则表达式策略,但肯定会看看html解析器。谢谢你的时间。谢谢你的回答!我选择了正则表达式策略,但肯定会看看html解析器。谢谢你的时间。
<!-- SOME CONTENT... -->
<h1>Diluizione seriale</h1>
<p>Some content including "prima diluizione"...</p>
<h1>Diluizione seriale</h1>
<p>Some content including "seconda diluizione"...</p>
<h1>Diluizione seriale</h1>
<p>Some content including "terza diluizione"...</p>