@kochkaqqq

Почему выдает пустую результат при парсинге веб страницы?

в консоль выдает пустую строку
const request = require("request")
const cheerio = require("cheerio");

var html = request('https://google.com', {
    'Content-type': 'text/html'
});
const $ = cheerio.load(html);
const a = $('body').text();
console.log(a);


что не так?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
@d-sem
в html не html, а объект request

request('https://google.com', function (error, response, html) {
    if (!error && response.statusCode == 200) {
        const $ = cheerio.load(html);

        const a = $('body').text();

        console.log(a);
    }
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Вам нужно чуть лучше овладеть навыком отладки своих скриптов.

Например, банально, кроме console.log(a); можно добавить console.log(html); сразу после того, как в этой переменной что-то должно появиться. Если появилось, то значит что-то не так после этой строки. Если не появилось, то что-то не так до этой строки. Из всевозможных ошибок мы сразу убираем половину.

Таким образом, методом исключения (то есть каждый раз исключая половину ошибок), можно добраться до того места, где ошибка есть, и дальше будет легко понять её.

Процесс отладки доступен только тому, кто имеет возможность запустить скрипт в тех условиях, где возникает ошибка. Все остальные люди могут лишь гадать, в чём же дело. Поэтому лучше не задавать вопросы, где для получения ответа нужна отладка. Кроме того, это работа, которую нужно просто сделать, и для которой не нужен эксперт.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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