@jKEeY

Jsoup не парсит нужную информацию, с чем это связанно?

Уже несколько дней мучаюсь с тем, что jsoup не парсит мне нужную информацию из этой статьи https://zen.yandex.ru/media/id/5a9d345c1aa80c262cd...
Мне нужно вывести только количество зрителей, в браузере в консоли разработчика эти данные есть, а при попытке спарисить весь контент сайта, то он не видит этих данных

import java.io.IOException;
import java.net.MalformedURLException;

import java.net.URL;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

import java.net.URL;

public class Parse {
    private static Document getPage() throws IOException{
        String url = "https://zen.yandex.ru/media/id/5aabde78168a9112996a70a8/pishem-pervuiu-stroku-koda-na-javascript-5aabdfb8a815f13d161aaa67";
        Document page = Jsoup.connect(url).maxBodySize(0).userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").timeout(0).get();
        return page;
    }
    public static void main(String[] args) throws IOException{
        Document page = getPage();
        Element views_all = page.select("span[class=article-stat__count]").first();
        System.out.println(views_all);
    }
}


Кто сможет объяснить и направить на ошибку или даже исправить её
  • Вопрос задан
  • 1135 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Такой вопрос задают в среднем раз в неделю. А ведь достаточно заглянуть в исходный код страницы, чтобы понять ответ. Элемент
<div class="article-stat__info article-stat__info_loaded">
и все его дочерние элементы, включая количество просмотров, формируются javascript'ом, после загрузки страницы. Изначально этих данных в html нет. Так как Jsoup работает именно с исходными данными, полученными от сервера, а javascript не выполняет, он article-stat__count увидеть не сможет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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