问题描述
我的任务是解析网站以找到 png 格式的图像,下载所有图像并保存在我的计算机上。 我的代码是:
public class Program {
public static void main(String[] args) throws IOException {
String html = "--url--";
Document doc = Jsoup.connect(html).get();
Elements links = doc.select("a[href]");
for (Element link : links)
{
System.out.println("link : " + link.attr("href"));
}
从中我得到如下结果:链接:img0.png,链接:img1.png,链接:img2.png,我猜是正确的(?)。 然后:
String path = "C:/Users/me/Desktop/folder";
for (Element link : links)
{
BufferedImage img = null;
File f = null;
try {
img = ImageIO.read(new File(link.attr("href")));
f = new File(path + link.attr("href") );
ImageIO.write(img,"png",f);
} catch (IOException e) {
}
}
}}
解决方法
这里:
img = ImageIO.read(new File(link.attr("href")));
您正在从硬盘读取名为 img0.png
、img1.png
、...的文件,但您尚未将它们保存在那里。
您必须首先使用某些 Http 客户端库下载它们。