BusInfo.js
3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
let request = require('request');
let cheerio = require('cheerio');
const bus_url = 'http://apis.data.go.kr/6410000/busarrivalservice/getBusArrivalList';
const bus_key = 'RwxSWXH88b2bKOAT6Ot3FHorPZQW9omma0xYIjtJe0JIKe4DC7TjX7Uj6E1ArzYi2AvVETmPrAIYyY8FlL%2BfAA%3D%3D';
const stationID = '228000708'; // 사색의광장 들어오는 방향
const gateStationID = '203000125'
const BusArrivalUrl = bus_url + '?servicekey=' + bus_key + '&stationId=' + stationID;// 사색의광장 정류장 버스 도착 정보 조회용
//console.log(BusArrivalUrl);
var routeID = [];
var Bus = []; // 버스 차 번호( ex) 경기 70바 3713 ) / 도착 여부 확인용
var BusNum = []; // 버스 번호 ( ex) 9)
request(BusArrivalUrl, (err, res, body) => {
var $ = cheerio.load(body, {decodeEntities: false});
$('busArrivalList').each(function(idx){
let route = $(this).find('routeId').text();
routeID.push(route);
})
//console.log(routeID);
})
const route_url = 'http://apis.data.go.kr/6410000/busrouteservice/getBusRouteInfoItem';
const route_key = 'RwxSWXH88b2bKOAT6Ot3FHorPZQW9omma0xYIjtJe0JIKe4DC7TjX7Uj6E1ArzYi2AvVETmPrAIYyY8FlL%2BfAA%3D%3D';
var index = 0;
function getBusNum(){
var BusRouteUrl = route_url + '?servicekey=' + route_key + '&routeId='; // 각 버스 정보 조회용
BusRouteUrl += routeID[index++];
//console.log(BusRouteUrl);
request(BusRouteUrl, (err, res, body) => {
var $ = cheerio.load(body, {decodeEntities: false});
$('busRouteInfoItem').each(function(idx){
var id = $(this).find('routeId').text(); //버스 노선 id
var num = $(this).find('routeName').text(); //버스 번호
var firsttime = $(this).find('upFirstTime').text(); //평일 기점 첫차시간
var lasttime = $(this).find('upLastTime').text(); //평일 기점 막차 시간
var mintime = $(this).find('peekAlloc').text(); //평일 최소 배차시간
var maxtime = $(this).find('nPeekAlloc').text(); //평일 최대 배차시간
//var idx = Bus.findIndex((item, idx) => { return item.routeId = id})
var newBus = new Object();
newBus.routeId = id;
newBus.BusNum = num;
newBus.FirstTime = firsttime;
newBus.LastTime = lasttime;
newBus.MinTime = mintime;
newBus.MaxTime = maxtime;
console.log(newBus);
Bus.push(newBus);
})
})
}
function useFor(){
for(var i=0; i<routeID.length; i++){
setTimeout(getBusNum, 500);
}
}
setTimeout(useFor, 500);
// const GateBusUrl = bus_url + '?servicekey=' + bus_key + '&stationId=' + gateStationID;
// request(GateBusUrl, (err, res, body) => {
// var $ = cheerio.load(body, {decodeEntities: false});
// $('busArrivalList').each(function(idx){
// let route = $(this).find('routeId').text();
// let num = $(this).find('plateNo1').text();
// var index = routeID.indexOf(route);
// if(index > -1){
// for(var i=0; i<Bus.length; i++){
// if(Bus[i]['route'] == route){
// if(Bus[i]['num'] != num){
// Bus[i]['pass'] = true;
// Bus[i]['num'] == num;
// }
// }
// }
// var info = new Object();
// info.route = route;
// info.num = num;
// info.pass = false; // json 형태로 저장
// Bus.push(info);
// }
// })
// //console.log(routeID);
// //console.log(Bus);
// })