我想解析一个网页并从中提取有意义的内容。我所说的有意义,是指用户希望在该特定页面中看到的内容(仅文本)(不包括广告、横幅、评论等的数据)。我想确保当用户保存页面时,他想要的数据读取已保存,仅此而已。
简而言之,我需要构建一个像 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/ ) 或 Beautiful Soup ( http: //www.crummy.com/software/BeautifulSoup/bs4/doc/)来完成这项工作。
但是我不知道在这一步之后如何提取内容。
PS。我是一名业余爱好者,如果有准备好使用开源工具来执行此操作,并且可以轻松集成到我将用 PHP 或 Python 编写的代码中,我会很高兴。或者,如果我必须编写自己的代码,我很想得到以前做过此类工作的指导!:) 非常感谢!