Create updater

This commit is contained in:
Daniel Bulant 2020-03-10 11:41:57 +01:00
parent 489c9a8c4b
commit 49c2a3dca8

View file

@ -1,5 +1,6 @@
const got = require("got");
const cheerio = require("cheerio");
const fs = require("fs");
function execShellCommand(cmd) {
const exec = require('child_process').exec;
@ -17,20 +18,65 @@ module.exports = async () => {
console.log("Fetching...");
var res = await execShellCommand("curl https://www.worldometers.info/coronavirus/");
var out = {};
console.log("Parsing");
const $ = cheerio.load(res);
var table = $("tbody");
var lines = $("tbody")[0].children;
var cases = $(".maincounter-number");
var all = cases[0].childNodes[1].children[0].data;
var death = cases[1].childNodes[1].children[0].data;
var recovered = cases[2].childNodes[1].children[0].data;
console.log("[ALL] " + all);
console.log("[DEATH] " + death);
console.log("[RECOVERED] " + recovered);
var countries = {};
for(var i = 0; i < lines.length; i++){
if(i % 2 != 1)continue;
var name = lines[i].children[1].children[1];
if(!name)break;
if(name.type == "text"){
name = name.data;
} else {
//link
name = name.children[0].data;
}
var o = {};
var lang = [
"Country", null, "cases", null, "deaths", "recovered", "active", "serious", "casePerMil"
];
var pt = 0;
for(var u = 0; u < lines[i].children.length; u++){
if(lines[i].children[u].type != "tag")continue;
if(lang[pt] == null){
pt++;
continue;
}
o[lang[pt]] = lines[i].children[u].children[0].data.trim();
pt++;
}
o["Country"] = name;
countries[name] = o;
}
console.log("Done");
out.global = {
all,
death,
recovered
}
out.contries = countries;
fs.writeFileSync(__dirname + "/cases.json", JSON.stringify(out));
return out;
}
(async () => {