ceramicthree
@ceramicthree

Почему не получается спарсить это значение через Jsoup?

Хочу спарсить значение заражённых вирусом 5eb32d69b01b8310317241.png
Пытался обращаться к div.today__item__value, также пробовал начиная с article#free-research.free-research добираться до заветного количества заражений, но, к сожалению, в консоль ничего вывести не удалось. Не подскажете, как нужно парсить такие значения?
Сейчас код выглядит вот так:
package examples;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import java.io.IOException;

public class YandexCovid {
    public static String infoParse(){
        StringBuilder covidInfo = new StringBuilder();
        try {
            Document document = Jsoup.connect("https://yandex.ru/covid19/stat").get();
            Elements elements = document.getElementsByClass("today__item__value");

            covidInfo.append(elements.text());
        }catch (IOException e){
            e.printStackTrace();
        }
        return covidInfo.toString();
    }

    public static void main(String[] args){
        System.out.println(YandexCovid.infoParse());
    }
}
  • Вопрос задан
  • 390 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день!
1) То что вы видите в консоли браузера (при инспектировании элементы) и то что отображается в исходном коде ctrl + u разнятся.
В исходном коде нет этих элементов, так как предположительно они добавляются в DOM динамически (средствами js). Вроде бы фреймворк react.
Соответственно, спарсить при помози jsoup не получится.
Смотрите в сторону
selenium + jbrowserdriver - https://github.com/MachinePublishers/jBrowserDriver
selenium + chrome || firefox
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Andrey_Dolg
Велика вероятность что данные приходят в одном из запросов. Изучайте те запросы что получает странице при загрузке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы