如何使用 JSoup 从 HTML 网页保存图像

How to save an image from an HTML webpage with JSoup

我正在尝试使用 JSoup 从 IMDb link 中抓取海报图像并保存,以便以后我的程序可以使用它。这是我目前所拥有的:

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 class 下,但我不知道如何提取它。请耐心等待,因为我以前没有使用 JSoup 的经验。非常感谢。

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

按照上述方法获取文档后,您将获得所需的 div,方法是:

Elements divs = doc.getElementsByClass("poster");

上面的代码将 return 所有具有 'poster' class 的元素。

如果您确定只有一个 div 名为 'poster',您可以这样做:

Element poster = divs.first();

如果您不确定,您需要找到一种方法将 div 与其他的区分开来。

现在,您有了 'poster' div,您可以通过以下操作获取其中的 link:

Elements image = poster.getElementsByTag("a");

上面的代码将 return 'poster' div 中的所有 link。正如我们上面所做的,如果你确定'poster'div里面只有一个link,你可以这样做:

Element downloadImage = image.first();

现在,您已经有了 link 所需的图像。