我正在做一个需要从网页中提取数据的学校项目。确切地说,我需要一个库或开源程序来从html /文本数据中提取人类可读的内容。像Web浏览器渲染的文本内容。
我知道用正则表达式解析html是从中提取文本的最糟糕的方法。
额外信息:
我需要它来计算文本文档之间的相似性。
任何帮助将不胜感激。 感谢
答案 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接口可能非常笨拙。您也不需要访问层次结构,只需要访问文本。否则解析器会比正则表达式更好(否则会是一个糟糕的想法)。