Jsoup / Java - 如何提取不在标记内的数据

时间:2014-02-16 03:05:14

标签: java html tags jsoup

我必须解析像这样的HTML

<span class="legenda">Cargo a que concorre:</span> Vereador<br />
<span class="legenda">Nome para urna:</span> Adeilza<br />
<span class="legenda">Número:</span> 40656<br />
<span class="legenda">Estado:</span> Amapá<br />
<span class="legenda">Município:</span> Vitória do Jari<br />
<span class="legenda">Partido:</span> Partido Socialista Brasileiro - PSB<br />
<span class="legenda">Coligação:</span> Vitória para todos (PSB / PV / PRTB)<br />

我正在使用jsoup来解析并遵循示例,但在这种情况下我不知道如何获取值。例如“Vereador”或“Adeilza”。 有一种方法可以用jsoup做到这一点吗?

这里是链接,如果有人想看到所有的html页面。 视图源:http://www.eleicoes2012.info/adeilza-psb-40656/

1 个答案:

答案 0 :(得分:2)

在jSoup nextSibling上调用Element将为您找到下一个Node。在这种情况下,您可以将span元素的a选择器与类legenda一起使用,然后调用nextSibling。快速举例:

Document doc = Jsoup.connect("http://www.eleicoes2012.info/adeilza-psb-40656/").get();
Elements spans = doc.select("span.legenda");

for(Element span: spans) {
    System.out.println(span.nextSibling());
}

为我制作了这个输出:

Adeilza Ribeiro de Souza
30 anos (09/08/1983)
Almeirim/PA
Solteiro(A)
Dona de Casa
Ensino Fundamental Incompleto

 0 Votos
 Vereador
 Adeilza
 40656
 Amap&aacute;
 Vit&oacute;ria do Jari
 Partido Socialista Brasileiro - PSB
 Vit&oacute;ria para todos (PSB / PV / PRTB)