【发布时间】:2013-09-07 16:07:53
【问题描述】:
download all images from a website using wget 非常简单。
但我需要在客户端使用此功能,最好是在 Java 中。
我知道wget的源码可以在线获取,但是我不会C,源码比较复杂。当然,wget 还有其他一些对我来说“炸毁源代码”的功能。
由于Java内置了HttpClient,但我不知道wget到底有多复杂,你能告诉我在Java中重新实现“递归下载所有图像”功能是否很难?
这到底是怎么做的? wget 是否获取给定 URL 的 HTML 源代码,从 HTML 中提取具有给定文件结尾(.jpg、.png)的所有 URL 并下载它们?它是否也在该 HTML 文档中链接的样式表中搜索图像?
你会怎么做?您是否会使用正则表达式在 HTML 文档中搜索(相对和绝对)图像 URL,并让HttpClient 下载每个 URL?还是已经有一些 Java 库可以做类似的事情?
【问题讨论】:
-
您可能想看看Jerry。它为 HTML 文档提供类似 JQuery 的选择器,它可以帮助您找到所有要下载的图像。
-
如果你熟悉 wget。你为什么不在java中使用wget?我的意思是编写一个简单的 java 类,它将调用一个脚本,该脚本将包含你的 wget!
-
@Krishna:我正在为两个程序执行此任务,一个在 Android 上运行,一个在 Windows 上运行,不幸的是我无法访问 wget。这就是为什么我需要一个纯 Java 解决方案,而不需要调用任何外部程序。
-
@C.Trimble:谢谢,Jerry 看起来确实很酷,很适合放在工具箱里 :)
标签: java html wget apache-httpclient-4.x