📜  如何在 Node.js 中使用cheerio 抓取网络数据?

📅  最后修改于: 2022-05-13 01:56:30.640000             🧑  作者: Mango

如何在 Node.js 中使用cheerio 抓取网络数据?

Node.js 是使用 chrome javascript 引擎构建的开源和跨平台环境。 Node.js 用于从浏览器外部执行 javascript 代码。

Cheerio:它的工作基于 jQuery。它完全适用于一致的 DOM 模型。 Cheerio 有时用于抓取网络数据,也用于自动化任务。

方法:在这篇文章中,我们废弃了world Meter一个covid info网站的数据,在这里我们得到了确诊病例总数,死亡总数,以及迄今为止康复的患者总数。

下面是分步实现:

第 1 步:输入 cmd 并键入以下命令,该命令将创建 package.json 文件

npm init

第 2 步:创建包后,您需要通过以下命令安装 Cheerio、request 和 chalk 的 JSON 文件:

npm install request cheerio chalk

第 3 步:现在您的项目目录如下所示:

项目结构

第 4 步:现在我们创建index.js文件并编写以下代码:

index.js
const { Cheerio } = require("cheerio");
const request = require("request");
const cheerio = require("cheerio");
const chalk = require("chalk");
  
request("https://www.worldometers.info/coronavirus/", cb);
  
function cb(error, response, html) {
  if (error) {
    console.error("Error:", error);
  } else {
    handleItem(html);
  }
}
function handleItem(html) {
  let setTool = cheerio.load(html);
  let contentArr = setTool("#maincounter-wrap span");
  
  let total = setTool(contentArr[0]).text();
  let death = setTool(contentArr[1]).text();
  let recovered = setTool(contentArr[2]).text();
  
  console.log(chalk.gray("Total cases:" + total));
  console.log(chalk.red("Total Death:" + death));
  console.log(chalk.green("Total cases:" + recovered));
}


输出:打开命令提示符并输入以下命令

node index.js

输出