我想解析一个网页并从中提取有意义的内容。有意义的,我指的是用户想要在该特定页面中看到的内容(仅文本)(数据不包括广告,横幅,评论等)我想确保当用户保存页面时,他想要的数据读保存,没有别的。
简而言之,我需要构建一个与Readability类似的应用程序。 ( http://www.readability.com 我需要将这个有用的网页内容存储在一个单独的文件中。我真的不知道如何去做。
我不想使用需要我连接到互联网并从服务器获取数据的API,因为数据提取过程需要离线完成。
我能想到两种方法:
使用基于机器学习的算法(如下所示: http://ai-depot.com/articles/the-easy-way-to-extract-useful-text-from-arbitrary-html/ )
开发一个可以令人满意地从网页中删除所有混乱的网络刮刀。
是否有现成的工具可以做到这一点?我遇到了套管库( http://code.google.com/p/boilerpipe/ )但没有使用它。有人用过吗?它会给出满意的结果吗? 还有其他工具,特别是用PHP或Python编写的这种网络抓取工具吗?
如果我需要建立自己的工具来做这件事,你们会建议怎么做呢?
由于在开始解析之前我需要清理凌乱或不完整的HTML,我会使用像Tidy这样的工具( http://www.w3.org/People/Raggett/tidy/ )或美丽的汤( http://www.crummy.com/software/BeautifulSoup/bs4/doc/ )做好这份工作。
但是我不知道在这一步之后如何提取内容。
PS。我是一个业余爱好者,如果准备好使用开源工具来做这件事,我会很高兴,并且可以很容易地集成到我用PHP或Python编写的代码中。 或者,如果我必须编写自己的代码,我很乐意获得以前完成此类工作的指导! :) 非常感谢!