public class Image {
private static Map<String, String> config;
static {
if (null == config) {
config = new HashMap<>();
}
config.put("url", "http://xxx.com/images/upload/image/");
config.put("dest", "D:/image");
}
public static void main(String[] args) {
recursion(config.get("url"));
}
private static void recursion(String url) {
//HttpClient 請求
String string = HttpUtil.get(url);
//正則表達式,找到<a>標籤的 href裏面的值
Pattern p = Pattern.compile("<a[^>]*>([^<]*)</a>");
Matcher m = p.matcher(string);
while (m.find()) {
//根目錄。需要結束當前循環。
if (m.group(1).equals("../")) {
continue;
}
//如果href 裏面的值 包含了.png|.jpg等
if (m.group(1).contains(".")) {
HttpUtil.downloadFile(url + (m.group(1)) + "", config.get("dest"));
continue;
}
//否則的話 遞歸進行下一個文件尋找
recursion(url + m.group(1));
}
}
}