Created
June 6, 2012 14:18
-
-
Save ww24/2882148 to your computer and use it in GitHub Desktop.
HIT講義情報API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var http = require('http'), | |
https = require('https'), | |
Iconv = require('iconv').Iconv, | |
iconv = new Iconv('EUC-JP', 'UTF-8//TRANSLIT//IGNORE'), | |
cheerio = require('cheerio'), | |
request = require('request'); | |
var site = 'http://www.hit.ac.jp/gakusei/chgschool/', | |
port = 8880; | |
process.on('uncaughtException', function (err) { | |
console.error(err); | |
}); | |
http.createServer(function (req, res) { | |
res.writeHead(200, { | |
'Access-Control-Allow-Origin': '*' | |
}); | |
request({ | |
url:site, | |
encoding: null | |
}, function (err, response, body) { | |
if (! err && response.statusCode === 200) { | |
body = iconv.convert(body).toString('utf8'); | |
$ = cheerio.load(body); | |
var $data = $('#first tbody tr'); | |
var obj = { | |
name: 'HIT講義情報API', | |
event: [] | |
}; | |
for (var i = 0, l = $data.length; i < l; i++) { | |
var $td = $data.eq(i).find("td"); | |
obj.event[i] = { | |
date: $td.eq(0).text(), | |
time: $td.eq(1).text(), | |
course: $td.eq(2).text(), | |
grade: $td.eq(3).text(), | |
class: $td.eq(4).text(), | |
subject: $td.eq(5).text(), | |
teacher: $td.eq(6).text(), | |
change_date: $td.eq(7).text(), | |
change_time: $td.eq(8).text(), | |
room: $td.eq(9).text(), | |
note_1: $td.eq(10).text(), | |
note_2: $td.eq(11).text() | |
} | |
} | |
res.write(JSON.stringify(obj, null, ' ')); | |
res.end(); | |
} else { | |
console.error(err, response); | |
} | |
}); | |
}).listen(port, '127.0.0.1'); | |
console.log('API server start.'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "HIT講義情報API", | |
"event": [ | |
{ | |
"date": "2012/05/24(木)", | |
"time": "3講目", | |
"course": "情報フロンティア工学科", | |
"grade": "2年", | |
"class": "1・2", | |
"subject": "オペレーティングシステム", | |
"teacher": "稲垣", | |
"change_date": "2012/06/29(金)", | |
"change_time": "4講目", | |
"room": "G204", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/06(水)", | |
"time": "4講目", | |
"course": "情報・電気・メデ", | |
"grade": "3・4年", | |
"class": "1・2", | |
"subject": "国際関係論", | |
"teacher": "仲野", | |
"change_date": "2012/05/25(金)", | |
"change_time": "5講目", | |
"room": "G104", | |
"note_1": "建築・都市・人間と合同実施", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/08(金)", | |
"time": "1講目", | |
"course": "機械システム工学科", | |
"grade": "3年", | |
"class": "1・2", | |
"subject": "国際関係論", | |
"teacher": "仲野", | |
"change_date": "2012/05/16(水)", | |
"change_time": "2講目", | |
"room": "2401", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/15(金)", | |
"time": "1講目", | |
"course": "機械システム工学科", | |
"grade": "3年", | |
"class": "1・2", | |
"subject": "国際関係論", | |
"teacher": "仲野", | |
"change_date": "2012/05/23(水)", | |
"change_time": "2講目", | |
"room": "2401", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/18(月)", | |
"time": "3・4講目", | |
"course": "都市環境学科", | |
"grade": "1年", | |
"class": "1・2", | |
"subject": "空間創造演習 I", | |
"teacher": "井田", | |
"change_date": "2012/06/21(木)", | |
"change_time": "1・2講目", | |
"room": "学外", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/21(木)", | |
"time": "1・2講目", | |
"course": "都市環境学科", | |
"grade": "1年", | |
"class": "1・2", | |
"subject": "コンピュータリテラシ", | |
"teacher": "井田", | |
"change_date": "2012/06/18(月)", | |
"change_time": "3・4講目", | |
"room": "G207", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/07/23(月)", | |
"time": "3・4講目", | |
"course": "都市環境学科", | |
"grade": "1年", | |
"class": "1・2", | |
"subject": "空間創造演習 I", | |
"teacher": "井田", | |
"change_date": "2012/06/21(木)", | |
"change_time": "3・4講目", | |
"room": "学外", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/05/25(金)", | |
"time": "2講目", | |
"course": "情報フロンティア工学科", | |
"grade": "4年", | |
"class": "1・2", | |
"subject": "情報と職業", | |
"teacher": "佐々木(一)", | |
"change_date": "2012/06/08(金)", | |
"change_time": "1講目", | |
"room": "G401", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/11(月)", | |
"time": "4講目", | |
"course": "機械システム工学科", | |
"grade": "1年", | |
"class": "ソフト", | |
"subject": "体育実技 I (ソフトボール)", | |
"teacher": "秋野", | |
"change_date": "変更日は未定", | |
"change_time": "", | |
"room": "", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/11(月)", | |
"time": "3講目", | |
"course": "建築学科", | |
"grade": "2年", | |
"class": "バスケ", | |
"subject": "体育実技 II (バスケット)", | |
"teacher": "秋野", | |
"change_date": "変更日は未定", | |
"change_time": "", | |
"room": "", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/12(火)", | |
"time": "4講目", | |
"course": "情報・電気", | |
"grade": "1年", | |
"class": "バレー", | |
"subject": "体育実技 I (バレーボール)", | |
"teacher": "秋野", | |
"change_date": "変更日は未定", | |
"change_time": "", | |
"room": "", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/19(火)", | |
"time": "2講目", | |
"course": "電気デジタルシステム工学科", | |
"grade": "4年", | |
"class": "1・2", | |
"subject": "電気法規・施設管理", | |
"teacher": "非)伊藤", | |
"change_date": "2012/06/13(水)", | |
"change_time": "3講目", | |
"room": "G108", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/29(金)", | |
"time": "3講目", | |
"course": "メディアデザイン学科", | |
"grade": "2年", | |
"class": "2", | |
"subject": "音楽情報処理", | |
"teacher": "非)青木", | |
"change_date": "2012/05/25(金)", | |
"change_time": "5講目", | |
"room": "5301", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/29(金)", | |
"time": "4講目", | |
"course": "メディアデザイン学科", | |
"grade": "2年", | |
"class": "2", | |
"subject": "音楽情報処理", | |
"teacher": "非)青木", | |
"change_date": "2012/06/08(金)", | |
"change_time": "5講目", | |
"room": "5301", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/19(火)", | |
"time": "1講目", | |
"course": "電気デジタルシステム工学科", | |
"grade": "3年", | |
"class": "1・2", | |
"subject": "ハードウェア記述言語", | |
"teacher": "木村(尚)", | |
"change_date": "2012/06/20(水)", | |
"change_time": "2講目", | |
"room": "G407", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/19(火)", | |
"time": "2講目", | |
"course": "電気デジタルシステム工学科", | |
"grade": "2年", | |
"class": "A", | |
"subject": "基礎C言語演習", | |
"teacher": "木村(尚)", | |
"change_date": "2012/06/22(金)", | |
"change_time": "4講目", | |
"room": "G307", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/22(金)", | |
"time": "4講目", | |
"course": "都市環境学科", | |
"grade": "3年", | |
"class": "1・2", | |
"subject": "橋梁工学", | |
"teacher": "白石", | |
"change_date": "2012/06/21(木)", | |
"change_time": "3講目", | |
"room": "G305", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/07/27(金)", | |
"time": "3講目", | |
"course": "メディアデザイン学科", | |
"grade": "2年", | |
"class": "2", | |
"subject": "音楽情報処理", | |
"teacher": "非)青木", | |
"change_date": "2012/06/15(金)", | |
"change_time": "5講目", | |
"room": "5301", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/06(水)", | |
"time": "4講目", | |
"course": "建築・都市環境", | |
"grade": "1年", | |
"class": "片桐", | |
"subject": "体育実技 I (テニス)", | |
"teacher": "片桐 康博", | |
"change_date": "変更日は未定", | |
"change_time": "", | |
"room": "", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/07(木)", | |
"time": "3講目", | |
"course": "メディア・人間社会", | |
"grade": "1年", | |
"class": "片桐", | |
"subject": "体育実技 I (バレーボール)", | |
"teacher": "片桐 康博", | |
"change_date": "変更日は未定", | |
"change_time": "", | |
"room": "", | |
"note_1": "", | |
"note_2": "" | |
}, | |
{ | |
"date": "2012/06/08(金)", | |
"time": "3講目", | |
"course": "医療・義肢", | |
"grade": "1年", | |
"class": "片桐", | |
"subject": "体育実技 I (テニス)", | |
"teacher": "片桐 康博", | |
"change_date": "変更日は未定", | |
"change_time": "", | |
"room": "", | |
"note_1": "", | |
"note_2": "" | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment