Skip to content

Instantly share code, notes, and snippets.

@agrimrules
Created December 29, 2018 02:42
Show Gist options
  • Save agrimrules/fff1b85acffad329f8fa8bc0c65b4971 to your computer and use it in GitHub Desktop.
Save agrimrules/fff1b85acffad329f8fa8bc0c65b4971 to your computer and use it in GitHub Desktop.
var cheerio = require('cheerio');
var request = require('request');
var mongoose = require('mongoose');
var Beer = require('./beer');
mongoose.connect('REDACTED');
var beers = []
function scrape() { request({
method: 'GET',
headers:{
"Cache-Control": "max-age=0, no-cache",
},
url: 'REDACTED'
},(err, res, body)=> {
if (err) return console.log(err);
$ = cheerio.load(body);
$('div.lineItem').each(function(idx, val){
if($('div.producerName', this).text().length > 1) {
beers.push({
brand: $('div.producerName',this).text(),
name: $('div.beverageName',this).text(),
ts: Date(),
height: Math.trunc($('div.kegLevel', this).css().height
.toString().replace("px", "")/ 37 * 100) || 0
})
}
});
for(i=0;i< beers.length; i++){
console.log(beers[i].brand +' '+ beers[i].name +' '+ beers[i].height);
var b = new Beer({
brand: beers[i].brand,
name: beers[i].name,
ts: beers[i].ts,
percentage: beers[i].height
})
.save(function(err){
if (err) throw err;
})
delete b;
}
delete beers;
});
}
setInterval(function() {
console.log('started scraping')
scrape()
}, 1800000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment