我正在寻找一个用 Java 编写的开源网络爬虫,除了常见的网络爬虫功能(例如深度/多线程/等)之外,还能够自定义处理每种文件类型。
更准确地说,当下载(或将要下载)文件时,我想处理文件的保存操作。 HTML 文件应保存在不同的存储库中,图像应保存在另一个位置,其他文件应保存在其他位置。此外,存储库可能不仅仅是一个简单的文件系统。
我听说过很多关于 Apache Nutch 的事。它有能力做到这一点吗?我希望尽可能简单、快速地实现这一目标。
最佳答案
基于您希望对爬网程序如何工作进行大量控制的假设,我建议 crawler4j 。有很多examples ,这样您就可以快速了解事情的运作方式。
您可以根据资源的内容类型轻松处理资源(看看 Page.java 类 - 它是包含有关所获取资源的信息的对象类)。
关于存储库没有限制。您可以使用任何您想要的东西。
关于具有自定义文件保存能力的Java爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14005616/