Как извлечь конкретный текст в HTML-код с помощью JSoup - PullRequest
0 голосов
/ 29 января 2019

У меня есть сайт, с которого я хочу извлечь некоторые данные.Я хочу извлечь 8a во второй строке (a-element) с помощью JSoup.Я не могу использовать Regex, потому что иногда 8a это просто 2 или 7c +, и эти же значения могут быть в тексте между тегами a.Идеи?

<div class="vsr"> 
 <a href="/91.1/303535.html">L'Américain (intégral)</a> 8a 
 <span class="ag">7c+</span> 
 <em>Tony Fouchereau</em> 
 <span class="btype">traversée d-g, surplomb, départ assis</span> 
 <span class="glyphicon glyphicon-camera" aria-hidden="true"></span> 
 <span class="glyphicon glyphicon-film" aria-hidden="true"></span> 
</div>

1 Ответ

0 голосов
/ 30 января 2019

Вы можете использовать селекторы Jsoup css для извлечения конкретной информации.

https://jsoup.org/cookbook/extracting-data/selector-syntax

@Test
public void extract8a() {
    Document doc = Jsoup.parse("<div class=\"vsr\"> \n" +
            " <a href=\"/91.1/303535.html\">L'Américain (intégral)</a> 8a \n" +
            " <span class=\"ag\">7c+</span> \n" +
            " <em>Tony Fouchereau</em> \n" +
            " <span class=\"btype\">traversée d-g, surplomb, départ assis</span> \n" +
            " <span class=\"glyphicon glyphicon-camera\" aria-hidden=\"true\"></span> \n" +
            " <span class=\"glyphicon glyphicon-film\" aria-hidden=\"true\"></span> \n" +
            "</div>");
    System.out.println(doc.select("div.vsr").first().ownText());
}
...