Разбор эскиза YouTube в iframe с Jsoup

Я хотел бы показать изображение миниатюр по умолчанию этого URL-адреса YouTube в приложении для Android:

<iframe width="560" height="315" src="https://www.youtube.com/embed/FXx_gbdIUKg" frameborder="0" allowfullscreen=""></iframe> 

Это мой метод для этого:

  static String parseThumbnail(String youTubeURL){ org.jsoup.nodes.Document document = Jsoup.parse(youTubeURL); Elements youtubeElements = document.select("FXx_gbdIUKg"); org.jsoup.nodes.Document iframeDoc = Jsoup.parse(youtubeElements.get(0).data()); Elements iframeElements = iframeDoc.select("iframe"); return iframeElements.attr("http://img.youtube.com/vi/"+youtubeElements+"/default.jpg"); 

Iframe находится внутри узла «content: encoded», поэтому я вызываю этот метод здесь.

 String itemYouTubeImage = null; if (XML_TAG_CONTENT_ENCODED.equalsIgnoreCase(tag)) { String contentEncoded = tagNode.getTextContent(); itemYouTubeImage = parseThumbnail(contentEncoded); itemImageURL = parseImageFromHTML(contentEncoded); itemContentEncodedText = parseTextFromHTML(contentEncoded); 

Как правильно это сделать?

Одна из проблем заключается в том, что компилятор говорит мне, что значение parseThumbnail(contentEncoded) присвоенное itemYouTubeImage , никогда не используется

Если вы хотите только миниатюру по умолчанию, это предусмотрено в <head> документа HTML youtube. Он не закодирован.

 <link itemprop="thumbnailUrl" href="https://i.ytimg.com/vi/2qhzsn3pZgk/maxresdefault.jpg"> 

Чтобы выбрать значение атрибута и получить абсолютный URL-адрес:

  String youtubeUrl = "https://www.youtube.com/watch?v=9wpqE8OSWrU"; Document doc = Jsoup.connect(youtubeUrl).get(); String thumbnailUrl = doc .select("link[itemprop=thumbnailUrl]") .first() .absUrl("href"); System.out.println(thumbnailUrl); 

Вывод

  https://i.ytimg.com/vi/9wpqE8OSWrU/maxresdefault.jpg 

Читайте больше в кулинарной книге Jsoup .