从网页中提取数据

时间:2011-04-19 02:32:49

标签: parsing html-parsing html-content-extraction text-extraction

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

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

额外信息:

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

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

2 个答案:

答案 0 :(得分:1)

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

您还会发现,您应该查看XML解析器,而不是尝试通过正则表达式“手动解析”(您将在引用的问题及其答案中阅读)。

答案 1 :(得分:0)

如果你关心的是文本相似性,你可以写一个正则表达式去除</?(every|single|valid|tag)[^>]*>形式的所有HTML标签(可能首先删除所有<script>.*</script>标签),然后混合所有内容在很长的段落中。这根本不是对正则表达式的错误使用;这就是他们的目的。

我可能会推荐http://docs.python.org/library/xml.dom.minidom.html,但imho接口可能非常笨拙。您也不需要访问层次结构,只需要访问文本。否则解析器会比正则表达式更好(否则会是一个糟糕的想法)。