Java 如何使用JSoup保存HTML网页中的图像

Java 如何使用JSoup保存HTML网页中的图像,java,html,web-scraping,jsoup,imdb,Java,Html,Web Scraping,Jsoup,Imdb,我正在尝试使用JSoup从IMDb链接中抓取海报图像,并进行保存,以便我的程序稍后可以使用它。这就是我到目前为止所做的: import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Attributes; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class JSoupTest { public

我正在尝试使用JSoup从IMDb链接中抓取海报图像,并进行保存,以便我的程序稍后可以使用它。这就是我到目前为止所做的:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JSoupTest
{

    public static void main(String[] args)
    {

        String address = "https://www.imdb.com/title/tt1270797/";
        try
        {
            Document doc = Jsoup.connect(address).get();
            Element link = doc.select().select();
        }
        catch (IOException e)
        {
            // Auto-generated catch block
            e.printStackTrace();
        }
    }

}

现在,我知道图像在一个名为“poster”的div类下,但我找不到如何提取它。请容忍我,因为我以前没有JSoup的经验。非常感谢。

我已经使用JSoup有一段时间了。但我从未尝试过从HTML源下载图像

如上所述获取文档后,您将使用以下命令获取所需的div:

Elements divs = doc.getElementsByClass("poster");
上面的代码将返回具有“poster”类的所有元素

如果您确定只有一个名为“海报”的分区,您可以执行以下操作:

Element poster = divs.first();
Element downloadImage = image.first();
如果您不确定这一点,则需要找到一种方法将该div与其他div区分开来

现在,您有了“海报”div,您可以通过以下操作获取其中的链接:

Elements image = poster.getElementsByTag("a");
上面的代码将返回“poster”分区内的所有链接。如上所述,如果您确定“poster”分区内只有一个链接,则可以执行以下操作:

Element poster = divs.first();
Element downloadImage = image.first();

现在,您有了所需图像的链接。

谢谢您的回复!为了让代码正常工作,我不得不在代码中再添加两行代码:
Elements img=downloadImage.getElementsByTag(“img”);字符串imageLink=img.attr(“src”)现在它就像一个符咒。