cptm-status
Version:
Status das linhas da CPTM
127 lines (106 loc) • 2.8 kB
JavaScript
;
require('es6-promise').polyfill();
var express = require('express');
var request = require('request');
var cheerio = require('cheerio');
const JSON = require('circular-json');
const chance = require('chance').Chance();
var app = express();
var url = "http://www.cptm.sp.gov.br/Pages/Home.aspx";
const userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9';
exports.getStatusCPTM = function() {
return new Promise(function(accept, error) {
var options = {
url: url,
headers: {
'User-Agent': userAgent
}
};
request(url, function(err, resp, body) {
if(err){
console.log("Ocorreu um erro!");
throw err;
}
var $ = cheerio.load(body);
var _rubi = $('.rubi span').get(1);
var _diamante = $('.diamante span').get(1);
var _esmeralda = $('.esmeralda span').get(1);
var _turquesa = $('.turquesa span').get(1);
var _coral = $('.coral span').get(1);
var _safira = $('.safira span').get(1);
var _jade = $('.jade span').get(1);
var rubi = {
id: chance.string(),
cor: "Rubi",
linha: "rubi",
status: $(_rubi).text(),
imagem: "",
descricao: "",
msgStatus: $(_rubi).text(),
codigo: ""
}
var diamante = {
id: chance.string(),
cor: "Diamante",
linha: "diamante",
status: $(_diamante).text(),
imagem: "",
descricao: "",
msgStatus: $(_diamante).text(),
codigo: ""
}
var esmeralda = {
id: chance.string(),
cor: "Esmeralda",
linha: "esmeralda",
status: $(_esmeralda).text(),
imagem: "",
descricao: "",
msgStatus: $(_esmeralda).text(),
codigo: ""
}
var turquesa = {
id: chance.string(),
cor: "Turquesa",
linha: "turquesa",
status: $(_turquesa).text(),
imagem: "",
descricao: "",
msgStatus: $(_turquesa).text(),
codigo: ""
}
var coral = {
id: chance.string(),
cor: "Coral",
linha: "coral",
status: $(_coral).text(),
imagem: "",
descricao: "",
msgStatus: $(_coral).text(),
codigo: ""
}
var safira = {
id: chance.string(),
cor: "Safira",
linha: "safira",
status: $(_safira).text(),
imagem: "",
descricao: "",
msgStatus: $(_safira).text(),
codigo: ""
}
var jade = {
id: chance.string(),
cor: "Jade",
linha: "jade",
status: $(_jade).text(),
imagem: "",
descricao: "",
msgStatus: $(_jade).text(),
codigo: ""
}
var lines = [rubi, diamante, esmeralda, turquesa, coral, safira, jade];
accept(JSON.stringify(lines));
});
});
}