Guest User

Untitled

a guest
Mar 15th, 2020
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const axios = require('axios');
  2. const cheerio = require('cheerio')
  3.  
  4. url = 'https://thl.fi/fi/web/infektiotaudit-ja-rokotukset/ajankohtaista/ajankohtaista-koronaviruksesta-covid-19';
  5.  
  6. function getResults(resultStr) {
  7.   let result = {};
  8.   let lastColonPosition = 0;
  9.   let lastSpacePosition = 0;
  10.   while (lastColonPosition >= 0) {
  11.       let colonPosition = resultStr.indexOf(':', lastColonPosition+1);
  12.       if (colonPosition > 0) {
  13.           let spacePosition = resultStr.indexOf(' ', colonPosition+2);
  14.           if (spacePosition > 0) {
  15.               if (lastSpacePosition >= 0) {
  16.                   let text = resultStr.slice(lastSpacePosition, colonPosition).trim();
  17.                   let value = parseInt(resultStr.slice(colonPosition+1, spacePosition).trim());
  18.                   result[text] = value;
  19.               }
  20.           } else {
  21.               let text = resultStr.slice(lastSpacePosition, colonPosition).trim();
  22.               let value = parseInt(resultStr.slice(colonPosition+1).trim());
  23.               result[text] = value;
  24.           }
  25.           lastSpacePosition = spacePosition;
  26.       }
  27.       lastColonPosition = colonPosition;
  28.   }
  29.   return result;
  30. }
  31.  
  32. coronaTilanne = {};
  33.  
  34. axios.get(url)
  35.   .then(response => {
  36.     const $ = cheerio.load(response.data);
  37.     $('strong').each(function(i, elem) {
  38.       if($(this).text().includes("Päivitetty")) {
  39.         coronaTilanne['Päivitetty'] = $(this).text().slice('Päivitetty'.length+1).trim();
  40.       }
  41.     });
  42.     $('li').each(function(i, elem) {
  43.       if($(this).text().includes("Varmennetut tapaukset")) {
  44.         coronaTilanne['Sairaanhoitopiirit'] = getResults($(this).children().last().text())
  45.       }
  46.     });
  47.     console.log(coronaTilanne);
  48.   });
Advertisement
Add Comment
Please, Sign In to add comment