我正在使用Jsoup在Android中解析维基百科。我希望在这篇HTML中获得“SecciónSur-Norte”:
<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'作为元素。我试图通过以下方式获得'SecciónSur-Norte':
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());
但是在日志中我得到的拇指缩放有8个元素(在该点之后文档中的所有'thumbcaption'元素)。而且我得到的比MyThumbcaption文本是文件中的所有文本之后)。
我怎么才能废弃'SecciónSur-Norte'?
更多信息:
我通过以下方式从img名称获取了thumbinner元素:
Elements imgs = doc.select("img[src*=" + name + "]");
Element img = imgs.first(); // Image selected
Element parentCaption = img.parent();
Element thumbinner = parentCaption.parent();
答案 0 :(得分:0)
尝试在thumbcaption div上使用ownText()
方法。它仅获取元素所拥有的文本,忽略其子元素所拥有的任何文本。
示例:
Element myThumbCaption = thumbCaption.first();
System.out.println(myThumbCaption.ownText());
应输出:
Sección Sur-Norte.
您可以详细了解此方法here。