как получить данные с cheerio? когда я вижу на странице исходные данные пусты, но когда я вижу в элементе inspect, я вижу данные - PullRequest
0 голосов
/ 11 апреля 2020

Я надеюсь, что вы заботитесь. У меня есть проблемы с очисткой данных на другом сайте. это мой случай, когда я вижу на странице исходные данные пустые, но когда я вижу в элементе inspect, я вижу данные. если вы не понимаете, посмотрите на это изображение, сначала в элементе проверки, а затем в источнике страницы просмотра

enter image description here

enter image description here

это мой код

const request = require('request');
const cheerio = require('cheerio');
const url = "https://pikobar.jabarprov.go.id/"

request(url, (error, response, html) => {
   let $ = cheerio.load(html);
   $('b').each((i, element) => {
      let omg = $(element).text();
      console.log(omg);
   });
});

это мой результат enter image description here

я хочу текст 388

1 Ответ

1 голос
/ 11 апреля 2020

Если вы видите источник документа (Ctrl + U), этот элемент действительно пуст. Это потому, что он заполняется впоследствии по запросу Ajax. Если вы go перейдете на вкладку Сеть и перезагрузите компьютер, вы увидите, что все файлы передаются. URL, который вы ищете: https://covid19-public.digitalservice.id/api/v1/rekapitulasi/jabar?level=prov, который содержит данные, которые вы ищете.

fetch("https://covid19-public.digitalservice.id/api/v1/rekapitulasi/jabar?level=prov")
  .then(r => r.json())
  .then(d => console.log(d.data.content.positif))
...