Пустой выходной соскоб с cheerio - PullRequest
0 голосов
/ 21 октября 2018

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

Вот что я настроил:

const rp = require('request-promise');
const cheerio = require('cheerio');
const bread = {
  uri: `https://www.ah.nl/producten/product/wi112339/ah-tijger-bruin-heel`,
  transform: function(body) {
    return cheerio.load(body);
  }
};

rp(bread).then(($) => {
  console.log($('.product__summary').text());
}).catch((err) => {
  console.log(err);
});

Я хочу получить описание продукта: снимок экрана из этой страницы, но я продолжаю возвращать пустую строку.Что я тут не так делаю?

Спасибо!

1 Ответ

0 голосов
/ 21 октября 2018

Чтобы получить ответ, давайте попробуем проверить страницу двумя различными способами (в Chrome):

1.Прямой щелчок -> просмотреть источник страницы 2.Нажмите F12

.обратите внимание, что класс «product__summary» существует только тогда, когда мы нажимаем F12, потому что только после того, как браузер выполняет сценарии страницы, появляются элементы с этим классом.

Cheerio не выполняет сценарии на странице, поэтому вы можетеВы не можете видеть этот конкретный класс.

Вы можете использовать Selenium , который довольно тяжел для работы в масштабе, или jsdom , который легче.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...