使用python regex从html文件中提取文本时出现问题

2024-05-15 00:18:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个项目,这个项目需要我编写一些代码,从python的html文件中提取一些文本。在

<tr>
<td>Target binary file name:</td>
<td class="right">Doc1.docx</td>
</tr>

^我感兴趣的html文件的一小部分。在

^{pr2}$

^我编写的示例代码用于测试是否可以提取数据。 我写了几个类似的程序来从txt文件中提取文本,几乎完全一样,它们工作得很好。关于regex和html,我有什么遗漏吗?在


Tags: 文件项目代码name文本righttargethtml
3条回答

浏览器所理解的HTML对于reg表达式来说太灵活了。属性可以以任何标记、任何顺序、大写或小写形式弹出,并且可以带有或不带引号。特别强调标记可以显示在任何地方。空白在regex中很重要,但在HTML中不太重要,所以您的regex必须到处都是\s*的。没有要求开始标记与结束标记匹配。一些开始标记包括尾随的“/”,这意味着它们是空标记(没有正文,没有结束标记)。最后,HTML通常是嵌套的,就regex而言,这与图表无关。在

这实际上是您要做的,还是只是一个简单的示例,稍后再使用更复杂的regex?如果是后者,那就听听其他人的意见。如果前者:

for line in file:
      if "binary" in line:
            # do stuff

如果不起作用,您确定"binary"在文件中吗?不,我不知道,"<i>b</i>inary"?在

Is there something I'm missing out with regards to regex and html?

是的。您忽略了这样一个事实:某些HTML不能用简单的regex解析。在

相关问题 更多 >

    热门问题