Node JS Webscraping с Cheerio Проблема получить html на некоторых сайтах - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь изучить веб-скриптинг и написанный мною код работает для некоторых URL, но некоторые просто не получают никаких HTML. Когда я запускаю скрипт, в терминале отображается 0 журналов или ошибок, и терминал переключается в следующую командную строку.

Вот мой код, который работает для некоторых веб-сайтов, но для этого, например, нет:

const request = require("request");
const cheerio = require("cheerio");

request("https://reverb.com/", function (error, response, html) {
  if (!error && response.statusCode == 200) {
    console.log(html);
  }
});

Терминал выглядит так, поэтому я не собираю и не чищу html ... есть идеи почему?

PS C:\Users\XY\Documents\Javascript\grabbercheerio> node app.js
PS C:\Users\XY\Documents\Javascript\grabbercheerio>

1 Ответ

0 голосов
/ 30 апреля 2020

Если ваша ошибка имеет значение, что-то пошло не так. Затем вам нужно зарегистрировать ошибку и выйти из функции. Если ошибка не имеет значения или null, все прошло нормально, и вы можете использовать данные.

Этот пример является более эффективным подходом.

const request = require('request');

request('https://reverb.com/', function(error, _response, data) {
    if (error) {
        return console.log('Something went wrong!', error);         
    }

    // Everything went fine
    console.log(data);
});
...