Javascript Node JS网站在某些网站上获取html时遇到了Cheerio问题

Javascript Node JS网站在某些网站上获取html时遇到了Cheerio问题,javascript,node.js,web-scraping,request,cheerio,Javascript,Node.js,Web Scraping,Request,Cheerio,我正在努力学习webscraping,我写的代码适用于一些URL,但有些只是不获取任何HTML。当我运行脚本时,终端中显示0个日志或错误,终端切换到下一个命令行 以下是我的代码,它适用于一些网站,但对于这个例子,它不是: const request = require("request"); const cheerio = require("cheerio"); request("https://reverb.com/", function (error, response, html) {

我正在努力学习webscraping,我写的代码适用于一些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>


如果您的错误有一个值,则表示发生了错误。然后,您要做的是记录错误并退出函数。如果错误没有值或
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);
});

尝试通过删除if语句进行调试,并执行
console.log(error)
console.log(response
查看您得到的错误。您好,它返回null。那么为什么它给我null?感谢您的快速回复。我是一个非常初学者,感谢您向我展示这一点!修复此问题后,我将对调试进行更深入的研究:)谢谢。我尝试了你的代码,做了一些小改动,效果很好。我上传了一个带解释的答案。非常感谢!这很有帮助!