使用Cheerio 库更新Covid-19病例
在本文中,我们将学习如何使用JavaScript库来从Covid网站上获取常见信息,即总病例、康复和死亡人数。
库要求和安装: 需要两个库来爬取(或从网站上获取所需信息)Covid-19网站:
- request库
- Cheerio库
request库: 此请求库将帮助我们通过向该网站发送HTTP请求来获取网站的HTML。由于有了这个库,我们的手动任务减少了。
安装:
npm install request
语法:
request(url of website, function to get the response)
注意: 第二个参数,即函数,表示通过向网站发送请求,您可以将HTML、body、head等作为结果获取。
Cheerio库: 此Cheerio库用于通过使用请求库获取的HTML包装所需数据,可以是数组类型或单个数据。
安装:
npm install cheerio
语法:
cheerio.load(response on request)
注意: 加载你作为响应获得的HTML或任何代码,然后通过传递特定的className或idName来获取所需的数据
示例: 让我们看一下从covid-19网站获取所需数据的实现,如下所示:
const request = require("request");
const cheerio = require("cheerio");
// requesting the covid-19 website
request("https://www.worldometers.info/coronavirus/", cb);
function cb(err, response, html) {
if (err) {
console.log(err);
}
else {
handlehtml(html); // Getting the html on request
}
}
function handlehtml(html) {
// loading the html that we had obtained by requesting
let seltools = cheerio.load(html);
// Obtaining the required data from
// html which is stored in the seltools
let content = seltools("#maincounter-wrap span");
let obj = ["Coronavirus Cases: ", "Deaths: ", "Recovered: "];
for (let i = 0; i < content.length; i++) {
let data = seltools(content[i]).text();
console.log(obj[i] + data);
}
}
运行应用的步骤: 在终端中输入以下步骤以运行应用程序。
node fileName.js
输出:
说明: 首先,我们使用request库请求covid-19网站来获取HTML,然后我们使用cheerio库加载HTML,并通过使用元素的类名来获取所需数据。结果,我们得到了上面显示的总病例、康复人数和死亡人数作为输出。