wnwnw

완결웹툰 배열 통합

...@@ -68,6 +68,783 @@ function getLatestToon(titleid, day ,cb) { ...@@ -68,6 +68,783 @@ function getLatestToon(titleid, day ,cb) {
68 68
69 function getAllToons() { 69 function getAllToons() {
70 allWebtoonList = new Array(); 70 allWebtoonList = new Array();
71 +
72 + //다음 연재완료 웹툰
73 + var daum = 'http://webtoon.daum.net/data/pc/webtoon/list_finished/?genre_id=&timeStamp=1575275921086';
74 + var site = 'daum';
75 + client.fetch(daum, {}, function (err, $, res, body) {
76 + var p = Promise.resolve();
77 + var data = JSON.parse(body);
78 + var list = data["data"];
79 + list.forEach(function (item, idx) {
80 + var webtoon_link = 'http://webtoon.daum.net/webtoon/view/' + item.nickname.toString();
81 + var yyyy = (item.finishDate).substring(0,4)
82 + var site='daum';
83 + var week='finished';
84 + var webtoon = {
85 + toon_index : item.id,
86 + name: item.title,
87 + thum_link: item.pcThumbnailImage.url,
88 + webtoon_link: webtoon_link,
89 + week:week,
90 + //year : yyyy,
91 + site : site,
92 + latest:0
93 + }
94 + allWebtoonList.push(webtoon);
95 + });
96 + });
97 +
98 +
99 + const naver2019 = 'https://comic.naver.com/webtoon/period.nhn?period=2019';
100 + var site='naver';
101 + axios.get(naver2019).then(res => {
102 + if (res.status === 200) {
103 + let naver2019 = [];
104 + const $ = cheerio.load(res.data);
105 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
106 + var tn = 2019;
107 + var week='finished'
108 + $toonList.each(function (i) {
109 + naver2019[i] = {
110 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
111 + name : $(this).find('dl > dt > a').text(),
112 + thumb_link: $(this).find('div > a > img').attr('src'),
113 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
114 + week : week,
115 + //year : tn,
116 + site : site,
117 + latest : 0
118 + };
119 + allWebtoonList.push(naver2019[i]);
120 + });
121 +
122 + //const data = naver2019.filter(m => m.title);
123 + //allWebtoonList3.push(data);
124 + //console.log(allWebtoonList3)
125 + }
126 + }, (error) => console.log(error));
127 +
128 + const naver2018 = 'https://comic.naver.com/webtoon/period.nhn?period=2018';
129 +
130 + axios.get(naver2018).then(res => {
131 + if (res.status === 200) {
132 + let naver2018 = [];
133 + const $ = cheerio.load(res.data);
134 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
135 + var tn = 2018;
136 + var week='finished'
137 + $toonList.each(function (i) {
138 + naver2018[i] = {
139 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
140 + name : $(this).find('dl > dt > a').text(),
141 + thumb_link: $(this).find('div > a > img').attr('src'),
142 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
143 + week : week,
144 + //year : tn,
145 + site : site,
146 + latest : 0
147 + };
148 + allWebtoonList.push(naver2018[i]);
149 + });
150 +
151 + //const data = naver2018.filter(m => m.title);
152 + //allWebtoonList3.push(data);
153 + //console.log(allWebtoonList3)
154 + }
155 + }, (error) => console.log(error));
156 +
157 +
158 + const naver2017 = 'https://comic.naver.com/webtoon/period.nhn?period=2017';
159 + axios.get(naver2017).then(res => {
160 + if (res.status === 200) {
161 + let naver2017 = [];
162 + const $ = cheerio.load(res.data);
163 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
164 + var tn = 2017;
165 + var week='finished'
166 + $toonList.each(function (i) {
167 + naver2017[i] = {
168 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
169 + name : $(this).find('dl > dt > a').text(),
170 + thumb_link: $(this).find('div > a > img').attr('src'),
171 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
172 + week : week,
173 + //year : tn,
174 + site : site,
175 + latest : 0
176 + };
177 + allWebtoonList.push(naver2017[i]);
178 + });
179 +
180 + //const data = naver2017.filter(m => m.title);
181 + //allWebtoonList3.push(data);
182 + //console.log(allWebtoonList3)
183 + }
184 + }, (error) => console.log(error));
185 +
186 + const naver2016 = 'https://comic.naver.com/webtoon/period.nhn?period=2016';
187 +
188 + axios.get(naver2016).then(res => {
189 + if (res.status === 200) {
190 + let naver2016 = [];
191 + const $ = cheerio.load(res.data);
192 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
193 + var tn = 2016;
194 + var week='finished'
195 + $toonList.each(function (i) {
196 + naver2016[i] = {
197 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
198 + name : $(this).find('dl > dt > a').text(),
199 + thumb_link: $(this).find('div > a > img').attr('src'),
200 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
201 + week : week,
202 + //year : tn,
203 + site : site,
204 + latest : 0
205 + };
206 + allWebtoonList.push(naver2016[i]);
207 + });
208 +
209 + //const data = naver2016.filter(m => m.title);
210 + //allWebtoonList3.push(data);
211 + //console.log(allWebtoonList3)
212 + }
213 + }, (error) => console.log(error));
214 +
215 + const naver2015 = 'https://comic.naver.com/webtoon/period.nhn?period=2015';
216 +
217 + axios.get(naver2015).then(res => {
218 + if (res.status === 200) {
219 + let naver2015 = [];
220 + const $ = cheerio.load(res.data);
221 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
222 + var tn = 2015;
223 + var week='finished'
224 + $toonList.each(function (i) {
225 + naver2015[i] = {
226 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
227 + name : $(this).find('dl > dt > a').text(),
228 + thumb_link: $(this).find('div > a > img').attr('src'),
229 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
230 + week : week,
231 + //year : tn,
232 + site : site,
233 + latest : 0
234 + };
235 + allWebtoonList.push(naver2015[i]);
236 + });
237 +
238 + //const data = naver2015.filter(m => m.title);
239 + //allWebtoonList3.push(data);
240 + //console.log(allWebtoonList3)
241 + }
242 + }, (error) => console.log(error));
243 +
244 +
245 + const naver2014 = 'https://comic.naver.com/webtoon/period.nhn?period=2014';
246 +
247 + axios.get(naver2014).then(res => {
248 + if (res.status === 200) {
249 + let naver2014 = [];
250 + const $ = cheerio.load(res.data);
251 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
252 + var tn = 2014;
253 + var week='finished'
254 + $toonList.each(function (i) {
255 + naver2014[i] = {
256 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
257 + name : $(this).find('dl > dt > a').text(),
258 + thumb_link: $(this).find('div > a > img').attr('src'),
259 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
260 + week : week,
261 + //year : tn,
262 + site : site,
263 + latest : 0
264 + };
265 + allWebtoonList.push(naver2014[i]);
266 + });
267 +
268 + //const data = naver2014.filter(m => m.title);
269 + //allWebtoonList3.push(data);
270 + //console.log(allWebtoonList3)
271 + }
272 + }, (error) => console.log(error));
273 +
274 + const naver2013 = 'https://comic.naver.com/webtoon/period.nhn?period=2013';
275 +
276 + axios.get(naver2013).then(res => {
277 + if (res.status === 200) {
278 + let naver2013 = [];
279 + const $ = cheerio.load(res.data);
280 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
281 + var tn = 2013;
282 + var week='finished'
283 + $toonList.each(function (i) {
284 + naver2013[i] = {
285 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
286 + name : $(this).find('dl > dt > a').text(),
287 + thumb_link: $(this).find('div > a > img').attr('src'),
288 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
289 + week : week,
290 + //year : tn,
291 + site : site,
292 + latest : 0
293 + };
294 + allWebtoonList.push(naver2013[i]);
295 + });
296 +
297 + //const data = naver2013.filter(m => m.title);
298 + //allWebtoonList3.push(data);
299 + //console.log(allWebtoonList3)
300 + }
301 + }, (error) => console.log(error));
302 +
303 + const naver2012 = 'https://comic.naver.com/webtoon/period.nhn?period=2012';
304 +
305 + axios.get(naver2012).then(res => {
306 + if (res.status === 200) {
307 + let naver2012 = [];
308 + const $ = cheerio.load(res.data);
309 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
310 + var tn = 2012;
311 + var week='finished'
312 + $toonList.each(function (i) {
313 + naver2012[i] = {
314 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
315 + name : $(this).find('dl > dt > a').text(),
316 + thumb_link: $(this).find('div > a > img').attr('src'),
317 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
318 + week : week,
319 + //year : tn,
320 + site : site,
321 + latest : 0
322 + };
323 + allWebtoonList.push(naver2012[i]);
324 + });
325 +
326 + //const data = naver2012.filter(m => m.title);
327 + //allWebtoonList3.push(data);
328 + //console.log(allWebtoonList3)
329 + }
330 + }, (error) => console.log(error));
331 +
332 + const naver2011 = 'https://comic.naver.com/webtoon/period.nhn?period=2011';
333 +
334 + axios.get(naver2011).then(res => {
335 + if (res.status === 200) {
336 + let naver2011 = [];
337 + const $ = cheerio.load(res.data);
338 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
339 + var tn = 2011;
340 + var week='finished'
341 + $toonList.each(function (i) {
342 + naver2011[i] = {
343 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
344 + name : $(this).find('dl > dt > a').text(),
345 + thumb_link: $(this).find('div > a > img').attr('src'),
346 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
347 + week : week,
348 + //year : tn,
349 + site : site,
350 + latest : 0
351 + };
352 + allWebtoonList.push(naver2011[i]);
353 + });
354 +
355 + //const data = naver2011.filter(m => m.title);
356 + //allWebtoonList3.push(data);
357 + //console.log(allWebtoonList3)
358 + }
359 + }, (error) => console.log(error));
360 +
361 + const naver2010 = 'https://comic.naver.com/webtoon/period.nhn?period=2010';
362 +
363 + axios.get(naver2010).then(res => {
364 + if (res.status === 200) {
365 + let naver2010 = [];
366 + const $ = cheerio.load(res.data);
367 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
368 + var tn = 2010;
369 + var week='finished'
370 + $toonList.each(function (i) {
371 + naver2010[i] = {
372 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
373 + name : $(this).find('dl > dt > a').text(),
374 + thumb_link: $(this).find('div > a > img').attr('src'),
375 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
376 + week : week,
377 + //year : tn,
378 + site : site,
379 + latest : 0
380 + };
381 + allWebtoonList.push(naver2010[i]);
382 + });
383 +
384 + //const data = naver2010.filter(m => m.title);
385 + //allWebtoonList3.push(data);
386 + //console.log(allWebtoonList3)
387 + }
388 + }, (error) => console.log(error));
389 +
390 +
391 + const naver2009 = 'https://comic.naver.com/webtoon/period.nhn?period=2009';
392 +
393 + axios.get(naver2009).then(res => {
394 + if (res.status === 200) {
395 + let naver2009 = [];
396 + const $ = cheerio.load(res.data);
397 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
398 + var tn = 2009;
399 + var week='finished'
400 + $toonList.each(function (i) {
401 + naver2009[i] = {
402 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
403 + name : $(this).find('dl > dt > a').text(),
404 + thumb_link: $(this).find('div > a > img').attr('src'),
405 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
406 + week : week,
407 + //year : tn,
408 + site : site,
409 + latest : 0
410 + };
411 + allWebtoonList.push(naver2009[i]);
412 + });
413 +
414 + //const data = naver2009.filter(m => m.title);
415 + //allWebtoonList3.push(data);
416 + //console.log(allWebtoonList3)
417 + }
418 + }, (error) => console.log(error));
419 +
420 + const naver2008 = 'https://comic.naver.com/webtoon/period.nhn?period=2008';
421 +
422 + axios.get(naver2008).then(res => {
423 + if (res.status === 200) {
424 + let naver2008 = [];
425 + const $ = cheerio.load(res.data);
426 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
427 + var tn = 2008;
428 + var week='finished'
429 + $toonList.each(function (i) {
430 + naver2008[i] = {
431 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
432 + name : $(this).find('dl > dt > a').text(),
433 + thumb_link: $(this).find('div > a > img').attr('src'),
434 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
435 + week : week,
436 + //year : tn,
437 + site : site,
438 + latest : 0
439 + };
440 + allWebtoonList.push(naver2008[i]);
441 + });
442 +
443 + //const data = naver2008.filter(m => m.title);
444 + //allWebtoonList3.push(data);
445 + //console.log(allWebtoonList3)
446 + }
447 + }, (error) => console.log(error));
448 +
449 +
450 + const naver2007 = 'https://comic.naver.com/webtoon/period.nhn?period=2007';
451 +
452 + axios.get(naver2007).then(res => {
453 + if (res.status === 200) {
454 + let naver2007 = [];
455 + const $ = cheerio.load(res.data);
456 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
457 + var tn = 2007;
458 + var week='finished'
459 + $toonList.each(function (i) {
460 + naver2007[i] = {
461 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
462 + name : $(this).find('dl > dt > a').text(),
463 + thumb_link: $(this).find('div > a > img').attr('src'),
464 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
465 + week : week,
466 + //year : tn,
467 + site : site,
468 + latest : 0
469 + };
470 + allWebtoonList.push(naver2007[i]);
471 + });
472 +
473 + //const data = naver2007.filter(m => m.title);
474 + //allWebtoonList3.push(data);
475 + //console.log(allWebtoonList3)
476 + }
477 + }, (error) => console.log(error));
478 +
479 +
480 +
481 + const naver2006 = 'https://comic.naver.com/webtoon/period.nhn?period=2006';
482 +
483 + axios.get(naver2006).then(res => {
484 + if (res.status === 200) {
485 + let naver2006 = [];
486 + const $ = cheerio.load(res.data);
487 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
488 + var tn = 2006;
489 + var week='finished'
490 + $toonList.each(function (i) {
491 + naver2006[i] = {
492 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
493 + name : $(this).find('dl > dt > a').text(),
494 + thumb_link: $(this).find('div > a > img').attr('src'),
495 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
496 + week : week,
497 + //year : tn,
498 + site : site,
499 + latest : 0
500 + };
501 + allWebtoonList.push(naver2006[i]);
502 + });
503 +
504 + //const data = naver2006.filter(m => m.title);
505 + //allWebtoonList3.push(data);
506 + //console.log(allWebtoonList3)
507 + }
508 + }, (error) => console.log(error));
509 +
510 +
511 +
512 + const naver2005 = 'https://comic.naver.com/webtoon/period.nhn?period=2005';
513 +
514 + axios.get(naver2005).then(res => {
515 + var p = Promise.resolve();
516 + if (res.status === 200) {
517 + let naver2005 = [];
518 + const $ = cheerio.load(res.data);
519 + const $toonList = $('#content > div.list_area.daily_img > ul > li');
520 + var tn = 2005;
521 + var week='finished'
522 + $toonList.each(function (i) {
523 + naver2005[i] = {
524 + toon_index : $(this).find('li > div > a').attr('href').split('=')[1],
525 + name : $(this).find('dl > dt > a').text(),
526 + thumb_link: $(this).find('div > a > img').attr('src'),
527 + webtoon_link: "http://comic.naver.com"+$(this).find('li > div > a').attr('href'),
528 + week : week,
529 + //year : tn,
530 + site : site,
531 + latest : 0
532 + };
533 + allWebtoonList.push(naver2005[i]);
534 + });
535 +
536 + //const data = naver2005.filter(m => m.title);
537 + //allWebtoonList3.push(data);
538 + //console.log(allWebtoonList3)
539 + }
540 + })
541 + }
542 +
543 +//월요일 다음 웹툰
544 + var mon='mon';
545 + var mon_name='MON';
546 + var daum = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/mon?timeStamp=1575877780449`;
547 + var site = 'daum';
548 + client.fetch(daum, {}, function (err, $, res, body) {
549 + var data = JSON.parse(body);
550 + var list = data["data"];
551 + list.forEach(function (item, idx) {
552 + var webtoon_link = 'http://webtoon.daum.net/webtoon/view/' + item.nickname.toString();
553 + var webtoon = {
554 + toon_index: item.id,
555 + name: item.title,
556 + thum_link: item.pcThumbnailImage.url,
557 + webtoon_link: webtoon_link,
558 + week :mon_name,
559 + site: site,
560 + latest: 0
561 + };
562 + allWebtoonList.push(webtoon);
563 + });
564 +
565 + });
566 +
567 +//화요일 다음 웹툰
568 + var tue='tue';
569 + var tue_name='TUE';
570 + var daum1 = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/tue?timeStamp=1575877814179`;
571 + client.fetch(daum1, {}, function (err, $, res, body) {
572 + var data = JSON.parse(body);
573 + var list = data["data"];
574 + list.forEach(function(item, idx){
575 + var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString();
576 + var webtoon= {
577 + toon_index: item.id,
578 + name : item.title,
579 + thum_link : item.pcThumbnailImage.url,
580 + webtoon_link : webtoon_link,
581 + week : tue_name,
582 + site : site,
583 + latest : 0
584 + };
585 + allWebtoonList.push(webtoon);
586 + });
587 +
588 + });
589 +
590 +//수요일 다음 웹툰
591 + var wed='wed';
592 + var wed_name='WED';
593 + var daum2 = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/wed?timeStamp=1575877833390`;
594 +
595 + client.fetch(daum2, {}, function (err, $, res, body) {
596 + var data = JSON.parse(body);
597 + var list = data["data"];
598 +
599 + list.forEach(function(item, idx){
600 +
601 + var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString();
602 + var webtoon= {
603 + toon_index: item.id,
604 + name : item.title,
605 + thum_link : item.pcThumbnailImage.url,
606 + webtoon_link : webtoon_link,
607 + week : wed_name,
608 + site : site,
609 + latest : 0
610 + };
611 + allWebtoonList.push(webtoon);
612 + });
613 +
614 + });
615 +
616 +//목요일 다음 웹툰
617 + var thu='thu';
618 + var daum3 =`http://webtoon.daum.net/data/pc/webtoon/list_serialized/thu?timeStamp=1575877858989`;
619 + var thu_name='THU';
620 + client.fetch(daum3, {}, function (err, $, res, body) {
621 + var data = JSON.parse(body);
622 + var list = data["data"];
623 + list.forEach(function(item, idx){
624 + var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString();
625 + var webtoon= {
626 + toon_index: item.id,
627 + name : item.title,
628 + thum_link : item.pcThumbnailImage.url,
629 + webtoon_link : webtoon_link,
630 + week : thu_name,
631 + site : site,
632 + latest : 0
633 + };
634 + allWebtoonList.push(webtoon);
635 + });
636 +
637 + });
638 +
639 +//금요일 다음 웹툰
640 + var fri='fri';
641 + var daum4 =`http://webtoon.daum.net/data/pc/webtoon/list_serialized/fri?timeStamp=1575877889317`;
642 + var fri_name='FRI';
643 + client.fetch(daum4, {}, function (err, $, res, body) {
644 + var data = JSON.parse(body);
645 + var list = data["data"];
646 + list.forEach(function(item, idx){
647 + var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString();
648 + var webtoon= {
649 + toon_index: item.id,
650 + name : item.title,
651 + thum_link : item.pcThumbnailImage.url,
652 + webtoon_link : webtoon_link,
653 + week : fri_name,
654 + site : site,
655 + latest : 0
656 + };
657 + allWebtoonList.push(webtoon);
658 + });
659 +
660 + });
661 +
662 +//토요일 다음 웹툰
663 + var sat='sat';
664 + var daum5 =`http://webtoon.daum.net/data/pc/webtoon/list_serialized/sat?timeStamp=1575877911857`;
665 + var sat_name='SAT';
666 + client.fetch(daum5, {}, function (err, $, res, body) {
667 + var data = JSON.parse(body);
668 + var list = data["data"];
669 + list.forEach(function(item, idx){
670 + var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString();
671 + var webtoon= {
672 + toon_index: item.id,
673 + name : item.title,
674 + thum_link : item.pcThumbnailImage.url,
675 + webtoon_link : webtoon_link,
676 + week : sat_name,
677 + site : site,
678 + latest : 0
679 + };
680 + allWebtoonList.push(webtoon);
681 + });
682 +
683 + });
684 +
685 +//일요일 다음 웹툰
686 + var sun='sun';
687 + var daum6 = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/sun?timeStamp=1575877949212`;
688 + var sun_name='SUN';
689 + client.fetch(daum6, {}, function (err, $, res, body) {
690 + var data = JSON.parse(body);
691 + var list = data["data"];
692 + list.forEach(function(item, idx){
693 + //다음 웹툰 아이디, 제목, 요일
694 + var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString();
695 + var webtoon= {
696 + toon_index: item.id,
697 + name : item.title,
698 + thum_link : item.pcThumbnailImage.url,
699 + webtoon_link : webtoon_link,
700 + week : sun_name,
701 + site : site,
702 + latest : 0
703 + };
704 + allWebtoonList.push(webtoon);
705 + });
706 + });
707 +
708 +//네이버 웹툰
709 + var allWeeklyToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn";
710 + request(allWeeklyToonsUrl,function (err, res, html) {
711 + if(!err){
712 + var $ = cheerio.load(html);
713 + var p = Promise.resolve();
714 + var eachs = $(".thumb").each(function (i) {
715 + var week = $(this).parent().parent().prev().attr('class');
716 + var webtoon_link = "http://comic.naver.com" + $(this).children().first().attr('href');
717 + var thumb_link = $(this).children().first().children().first().attr('src');
718 + var name = $(this).next().text();
719 + var titleid = webtoon_link.split('?')[1].split('&')[0].split('=')[1];
720 + var site = 'naver';
721 + var webtoon= {
722 + toon_index: titleid,
723 + name : name,
724 + thum_link : thumb_link,
725 + webtoon_link : webtoon_link,
726 + week : week,
727 + site : site,
728 + latest : 0
729 + };
730 + allWebtoonList.push(webtoon);
731 + });
732 + p.then(function() {
733 + i = 0;
734 + allWebtoonList.forEach(function (webtoon) {
735 + var sql= "INSERT INTO `toon` (toon_index, name, thum_link, webtoon_link, week, site, latest) VALUES(?) ON DUPLICATE KEY UPDATE latest=latest";
736 + var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest];
737 + connection.query(sql,[values],function(err,result){
738 + if (err) {
739 + console.log("웹툰 DB 에러 : " + err);
740 + } else {
741 + // console.log("웹툰 DB처리 완료!");
742 + }
743 + });
744 + //});
745 + })
746 + });
747 + }
748 + allWebtoons = allWebtoonList;
749 + });
750 +
751 +
752 +
753 +getAllToons();
754 +//처음 한번 수행
755 +setInterval(getAllToons,5*60*1000);
756 +//5분에 한번 수행
757 +
758 +
759 +/* GET home page. */
760 +
761 +
762 +router.get('/',
763 + function(req,res,next){
764 + if(req.isAuthenticated()){
765 + res.redirect('/mytoons');
766 + console.log("(!)이미 로그인");
767 + }else{
768 + console.log("(!)로그인세션 없음");
769 + res.render('index',{
770 + title: "니툰내툰",
771 + list: allWebtoons
772 +
773 + });
774 + }
775 + });
776 +
777 +module.exports = router;
778 +var express = require('express');
779 +var cheerio = require('cheerio');
780 +var request = require('request');
781 +const axios = require('axios');
782 +//axios 추가 설치된거 확인하기
783 +var router = express.Router();
784 +var mysql = require('mysql');
785 +var client = require('cheerio-httpcli');
786 +var passport = require('passport'),
787 + KakaoStrategy = require('passport-kakao').Strategy;
788 +
789 +passport.use(new KakaoStrategy({
790 + clientID : 'bd2e610396fb7bbb84cf91a786b3cc72',
791 + callbackURL :'/auth/login/kakao/callback',
792 + clientSecret : 'eUtJGtlLoCZJufevp3LKfDP0KOtZUV7R'
793 + },
794 + function(accessToken, refreshToken,params, profile, done){
795 + //사용자 정보는 profile에
796 + loginByThirdparty(accessToken, refreshToken, profile);
797 +
798 + console.log("(!)로그인 : " + profile._json.id+"("+profile._json.properties.nickname +")");
799 + //return done(null,profile)
800 + return done(null, {
801 + 'user_id': profile._json.id,
802 + 'nickname': profile._json.properties.nickname
803 + });
804 + }
805 +));
806 +
807 +// kakao 로그인
808 +router.get('/auth/login/kakao',
809 + // passport.authenticate('kakao',{state: "myStateValue"})
810 + passport.authenticate('kakao')
811 +);
812 +
813 +// kakao 로그인 연동 콜백
814 +router.get('/auth/login/kakao/callback',
815 + passport.authenticate('kakao', {
816 + //session: false,
817 + successRedirect: '/mytoons',
818 + failureRedirect: '/'
819 + })
820 +);
821 +
822 +function loginByThirdparty(accessToken, refreshToken, profile) {
823 + //예전 코드는 MySQL 버젼이 맞지 않음
824 + // var sql = 'INSERT INTO `user`(id) VALUES(?) ON DUPLICATE KEY(PRIMARY) UPDATE id=(?);'
825 + var sql = "INSERT INTO `user` (id) VALUES (?) ON DUPLICATE KEY UPDATE id=id";
826 + var kid=[profile._json.id];
827 + connection.query(sql,kid,function(err,result){
828 + if (err) {
829 + console.log("로그인 쿼리중 에러 : " + err);
830 + } else {
831 + console.log("로그인 DB처리 완료!");
832 + }
833 + });
834 +}
835 +
836 +router.get('/auth/logout/kakao',function (req,res) {
837 + req.logout();
838 + res.redirect('/');
839 +})
840 +
841 +allWebtoons = new Array();
842 +
843 +function getLatestToon(titleid, day ,cb) {
844 +}
845 +
846 +function getAllToons() {
847 + allWebtoonList = new Array();
71 //월요일 다음 웹툰 848 //월요일 다음 웹툰
72 var mon='mon'; 849 var mon='mon';
73 var mon_name='MON'; 850 var mon_name='MON';
......