11
Фев
2017

JSoup парсинг изображений из Yandex

Проблема в следующем: Подключаюсь к Яндекс картинкам, беру URL изображения

public void connect(final String query) throws SettingsFileException {
    final String url = "https://yandex.com/images/search?text=";
    final String charset = "UTF-8";
    try {
        Document docImage = Jsoup.connect(url
                + URLEncoder.encode(query, charset)).get();
        logImagePath.info(url
                + URLEncoder.encode(query, charset));
        Element images =
                docImage.select("img.serp-item__thumb").first();
        srcImage = images.attr("src");
        logImagePath.info("src: " + images.attr("src"));
    } catch (IOException e) {
        throw new SettingsFileException(e);
    }
}

Путь к изображению примерно такой:

src: //im3-tub-ru.yandex.net/i?id=647d9959589f7509b140c18dc93273f9&n=33&h=215&w=312

Когда пытаюсь загрузить изображение через ImageIO, вылетает исключение MalformedURLException. Придерживаюсь мнения что это из-за того что в url не указано имя изображения. Есть ли методы обойти подобную проблему, или же я что-то неправильно делаю?

Источник: https://ru.stackoverflow.com/questions/626413/jsoup-%D0%BF%D0%B0%D1%80%D1%81%D0%B8%D0%BD%D0%B3-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8%D0%B7-yandex

Share

Тебе может это понравится...