解析网站,找到图片链接并下载 png

问题描述

我的任务是解析网站以找到 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.pngimg1.png、...的文件,但您尚未将它们保存在那里。

您必须首先使用某些 Http 客户端库下载它们。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...