我的应用程序当前通过从远程计算机通过共享磁盘复制文件系统树来读取数据,因此它从应用程序的角度来看作为文件系统深层复制。
此解决方案有些限制,我还想支持第二个选项 - 通过http 复制子树。
库应该像wget --recursive
那样解析目录列表并用它来遍历树。
我找不到任何执行此操作的java库。
我能够自己实现这些功能(使用NekoHTML或类似功能),但我不喜欢重新发明轮子。
我的应用程序中是否可以轻松使用这样的库?
理想情况下:
感谢。
注意:请发布您个人使用的图书馆主页的指示。
答案 0 :(得分:2)
Norconex HTTP Collector在给定一个或多个起始网址的情况下遍历网站,例如树。它可以在您的应用程序中用作Java库,也可以用作命令行应用程序。您可以决定如何处理它抓取的每个文档。作为一个成熟的网络爬虫,它可能比你所做的更多,但你可以配置它以满足你的需要。
例如,默认情况下会提取文档中的文本,然后通过插入“提交者”(即“提交”提取内容的位置)来决定如何处理该文本。在您的情况下,我认为您只想要原始文档并忽略文本转换部分。您可以通过插入自己的文档处理器,然后“过滤掉”文档,这样一旦您按照自己的方式处理它们就会停止处理。
该项目是开放源代码,托管在Github上,并且完全被“复仇”。它支持robots.txt,但如果你愿意,可以关闭它。您唯一的缺点是拥有多个依赖项,但由于您使用的是Maven,因此这些应该可以自动解决。您会在产品网站上找到Maven repository info。