Как сохранить изображение с HTML-страницы с помощью JSoup - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь использовать 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();
        }
    }

}

Теперь я знаю, что изображение находится в классе div с именем "poster", но я не могу найти, как его извлечь.Пожалуйста, потерпите меня, так как у меня нет опыта работы с JSoup.Большое спасибо.

1 Ответ

0 голосов
/ 08 декабря 2018

Я уже некоторое время использую JSoup.Но я никогда не пытался загрузить изображение из HTML-источника.

Получив документ, как вы делали выше, вы получите нужный вам div, используя:

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

Код выше вернет все элементы с классом 'poster'.

Если вы уверены, что есть только один div с именем 'poster', вы можете сделать:

Element poster = divs.first();

Если вы не увереныиз этого вам нужно будет найти способ отличить этот div от других.

Теперь, когда у вас есть div с «постером», вы можете получить ссылку внутри него, выполнив:

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

Приведенный выше код вернет все ссылки внутри div "poster".Как мы делали выше, если вы уверены, что внутри div 'poster' есть только одна ссылка, вы можете сделать следующее:

Element downloadImage = image.first();

Теперь у вас есть ссылка на нужное изображение.

...