0

我正在做一个需要从网页中提取数据的学校项目。准确地说,我需要一个库或开源程序来从HTML /文本数据中提取人类可读的内容。类似于Web浏览器呈现的文本内容。从网页中提取数据

我知道使用正则表达式解析html是最糟糕的方法从中提取文本。

额外的信息:

我需要它计算文本文档之间的相似性。

任何帮助,将不胜感激。 感谢

回答

0

如果您所关心的是文本相似,你可以只写一个正则表达式来剔除形式</?(every|single|valid|tag)[^>]*>的所有HTML标签(也许首先取出所有<script>.*</script>标签),然后捣碎所有的内容在很长段。这根本不会是一个糟糕的正则表达式;这就是他们在那里的原因。

我可能会推荐http://docs.python.org/library/xml.dom.minidom.html,但是imho的界面可能会很尴尬。你也不需要访问层次结构,只需要文本。否则解析器会比正则表达式更好(否则这将是一个可怕的想法)。

+0

我将为成千上万的文档进行处理。和我的疑问是,如果我使用正则表达式解析数据,JavaScript函数可能会出现。还有一件事是我会缺少动态内容或JavaScript呈现的数据。感谢回答:) – Aditya 2011-04-19 02:54:19

+0

我相信我给你的示例算法可能不会导致JavaScript函数出现,只要你不解析整个世界 - 万维网。此外,您将缺少JavaScript呈现的内容,无论您使用的是什么程序,除非您通过网络浏览器进行操作。 – ninjagecko 2011-04-19 03:07:47

+0

数千文档的学校项目。酷学校 – 2012-02-20 09:39:52

1

我强烈建议this question's first answer努力避免使用正则表达式解析HTML。这个答案更好地说明你为什么不应该比我更好,所以我遵循这一点。

你还会发现你应该看看XML解析器,而不是试图通过正则表达式(你会在引用的问题和它的答案中读到)“手动解析”。

+0

我会为成千上万的文档做这个过程。和我的疑问是,如果我使用正则表达式解析数据,JavaScript函数可能会出现。还有一件事是我会缺少动态内容或JavaScript呈现数据。谢谢回答:) – Aditya 2011-04-19 02:53:13