Я разбираю wikipedia в Android с помощью Jsoup. Я хочу, чтобы получить «Seccion Sur-Норт» внутри этой части HTML:Jsoup parse: получение текста от Element, не работающего в Android
<div class="thumb tright">
<div class="thumbinner" style="width:302px;">
<a href="//commons.wikimedia.org/wiki/File:Cheops-Pyramide.png" class="image">
<img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/60/Cheops-Pyramide.png/300px-Cheops-Pyramide.png" width="300" height="227" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/60/Cheops-Pyramide.png/450px-Cheops-Pyramide.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/60/Cheops-Pyramide.png/600px-Cheops-Pyramide.png 2x">
</a>
<div class="thumbcaption">
<div class="magnify">
<a href="/wiki/Archivo:Cheops-Pyramide.png" class="internal" title="Aumentar">
<img src="//bits.wikimedia.org/static-1.23wmf10/skins/common/images/magnify-clip.png" width="15" height="11" alt="">
</a>
</div>
Sección Sur-Norte. <--> Text I want to scrapp
</div>
</div>
</div>
Я получаю выбранный выбранный «thumbinner» как элемент. Я пытаюсь получить «Seccion Sur-Норт», выполнив:
Elements thumbCaption = thumbinner.select("div[class*=thumbcaption]");
Element myThumbCaption = thumbCaption.first();
Log.d("", "Thumbcaptions number of elements: " + thumbCaption.size());
Log.d("", "MyThumbcaption: text: " + aver.text());
Но в журналах я получаю, что thumbcaption имеет 8 элементов (элементы все «» thumbcaption в документе после этой точки). И я получаю, чем текст MyThumbcaption - это весь текст в документе после этого).
Как я могу отказаться от «Sección Sur-Norte»?
ДОПОЛНИТЕЛЬНО:
Я получаю thumbinner элемент из IMG имя, выполнив:
Elements imgs = doc.select("img[src*=" + name + "]");
Element img = imgs.first(); // Image selected
Element parentCaption = img.parent();
Element thumbinner = parentCaption.parent();
Не работает. Это невероятно, но это пустая строка. Я начинаю думать, что Jsoup работает не очень хорошо в Android! – pozuelog
Он работает для меня, но только когда я использую HTML, который вы поставили. Если вы проанализируете реальный URL-адрес, который, как я полагаю, вы делаете, 'thumbCaption.first()' вернет неправильный элемент. Вы хотите использовать 'thumbCaption.get (1)' для получения правильного элемента. Также обратите внимание, что вы должны знать, что сайты реагируют на разные клиенты, поэтому может быть хорошей идеей установить агент пользователя по-разному при подключении к URL-адресу. –