【发布时间】:2010-08-01 03:58:57
【问题描述】:
我正在做一个项目,该项目需要我编写一些代码来从 python 中的 html 文件中提取一些文本。
<tr>
<td>Target binary file name:</td>
<td class="right">Doc1.docx</td>
</tr>
^我感兴趣的 html 文件的一小部分。
#! /usr/bin/python
import os
import re
if __name__ == '__main__':
f = open('./results/sample_result.html')
soup = f.read()
p = re.compile("binary")
for line in soup:
m = p.search(line)
if m:
print "finally"
break
^我编写的示例代码来测试是否可以提取数据。 我已经编写了几个与此类似的程序来从 txt 文件中提取几乎完全相同的文本,并且它们工作得很好。关于正则表达式和 html,我有什么遗漏吗?
【问题讨论】:
-
@deinst,很棒的链接,我笑了。 @OP,这是非常正确的观点。你不应该用正则表达式解析 html。试试 lxml 或 BeautifulSoup 的魔法,你再也不想回到正则表达式了。
-
最近的一个问题涉及如何使用 BeautifulSoup 做一些非常相似的事情:stackoverflow.com/questions/3376803/…
-
感谢lxml大牛的建议,我去看看。 @bobince:感谢您的链接!