윤준현

add yorusika

success
......@@ -8,6 +8,7 @@ var async = require('async');
var crawlReol = require('./crawling/Reol');
var crawlYonezu = require('./crawling/Yonezu');
var crawlYorusika = require('./crawling/Yorusika');
var singer;
//body-parser 미들웨어 사용
......@@ -51,7 +52,10 @@ app.post('/message', function(req,res){
break;
case 'ヨルシカ-Discography' :
singer = 'yorusika';
break
crawlYorusika.crawl_yorusika('http://yorushika.com/discography/', function(yorusika){
callback(null,yorusika);
});
break;
default:
if(singer == 'Reol'){
crawlReol.crawl_Reol('https://namu.wiki/w/%EB%A0%88%EC%98%A4%EB%A3%A8/%EC%9D%8C%EB%B0%98#toc',function(Reol){
......@@ -64,7 +68,9 @@ app.post('/message', function(req,res){
});
}
else if(singer=='yorusika'){
crawlYorusika.crawl_yorusika('http://yorushika.com/discography/', function(yorusika){
callback(null,yorusika);
});
}
else
callback(null,null);
......@@ -124,7 +130,16 @@ app.post('/message', function(req,res){
case 'Reol-Discography' :
send = {
'message': {
'text': '앨범 목록입니다.'
'text': 'Album List',
'photo': {
'url': 'https://yt3.ggpht.com/a-/AN66SAydQt1STVdFCVvwEyZitr-v4dNGDKdyIt-oSA=s288-mo-c-c0xffffffff-rj-k-no',
'width': 300,
'height': 300
},
'message_button' : {
'label' : 'Youtube channel Link',
'url' : "https://www.youtube.com/channel/UCB6pJFaFByws3dQj4AdLdyA/"
}
},
keyboard: {
'type': 'buttons',
......@@ -138,7 +153,7 @@ app.post('/message', function(req,res){
'message': {
'text': '이름 : 米津玄師(Yonezu Kenshi) \n성별 : 남성 \n생년월일 : 1991년 3월 10일 \n혈액형 : O형',
'photo': {
'url': 'http://reissuerecords.net/rr/wp-content/uploads/flamingo_photo2.jpg',
'url': 'https://s3.namuwikiusercontent.com/s/5f35be0c28de612d20eccea8c795cee38eea58700af4723f6920fc00b48c491ae5e89572e7bcb5ab2e2eb37aa6c498dbc3f4896239d3f98e4794c9b1ec96031c43d77090d83f00ba5b7d65e566f415af055f79a8059dd2f6b1f36f0f8e742f9d',
'width': 1000,
'height': 667
},
......@@ -156,7 +171,16 @@ app.post('/message', function(req,res){
case '米津玄師-Discography':
send = {
'message': {
'text': 'Album List'
'text': 'Album List',
'photo': {
'url': 'https://yt3.ggpht.com/a-/AN66SAwKDZ2RTvreg5m1Ub6Wd6glpKCYMGrVG4mpqw=s288-mo-c-c0xffffffff-rj-k-no',
'width': 300,
'height': 300
},
'message_button' : {
'label' : 'Youtube channel Link',
'url' : "https://www.youtube.com/channel/UCUCeZaZeJbEYAAzvMgrKOPQ/"
}
},
keyboard: {
'type': 'buttons',
......@@ -188,11 +212,20 @@ app.post('/message', function(req,res){
case 'ヨルシカ-Discography':
send = {
'message': {
'text': 'Album List'
'text': 'Album List',
'photo': {
'url': 'https://yt3.ggpht.com/a-/AN66SAzKliDeZQJhb9JshzY4hJY_pJSbM1gfYoqY=s288-mo-c-c0xffffffff-rj-k-no',
'width': 300,
'height': 300
},
'message_button' : {
'label' : 'Youtube channel Link',
'url' : "https://www.youtube.com/channel/UCRIgIJQWuBJ0Cv_VlU3USNA"
}
},
keyboard: {
'type': 'buttons',
'buttons': ['ㅁ']
'buttons': discography[0].json_album
}
};
......
......@@ -10,10 +10,13 @@ function crawl_yonezu(url, callback){
const $ = cheerio.load(body);
var kenshi = $('body > div.content-wrapper > article > div.wiki-content.clearfix > div')
var index;
var album_num = 0;
for (var i = 1; i <= $('.toc-item').length; i++) {
album = $(kenshi).find('#toc > div > div:nth-child(5) > div:nth-child(5) > span:nth-child(' + i + ')').text() //앨범 정보 가져오기
if (album != '') {
json_album.push(album.substr(7));
album_num++
album = album_num+'.'+album.substr(14)
json_album.push(album);
}
index = 40+i*2;
......
var request = require('request');
var cheerio = require('cheerio');
function crawl_yorusika(url, callback){
let json_album = [], json_year = [], json_track = [], json_image = [];
let yorusika = [];
var track;
var year;
request(url, function (err, res, body) {
const $ = cheerio.load(body);
var index;
var album_num = 0;
console.log($('.discography_contents').length);
for (var i = $('.discography_contents').length; i >=1; i--) {
year = $('body > article > section > div > div:nth-child('+i+') > div.discography_text > div.discography_date').text();
year = year.substr(0,year.length-7);
json_year.push(year);
if(i == 3){
track = $('body > article > section > div > div:nth-child('+i+') > div.discography_text > div.discography_description').text();
track = track.substr(6);
track = track.substr(0,track.length-22);
}
else{
track = $('body > article > section > div > div:nth-child('+i+') > div.discography_text > div.discography_description').text();
track = track.substr(6);
track = track.substr(0,track.length-7);
}
json_track.push(track);
var check = false
album_num++;
var album_name = '';
album = $('body > article > section > div > div:nth-child('+i+') > div.discography_text > div.discography_title').text();
for(var j = 0; j<album.length;j++){
if(album[j] == '「')
check = true;
if(check == true)
album_name += album[j];
}
album_name = album_num + '. ' + album_name
json_album.push(album_name);
}
yorusika.push({ json_album, json_year, json_track});
callback(yorusika);
});
}
exports.crawl_yorusika = crawl_yorusika;
\ No newline at end of file