Showing
1 changed file
with
777 additions
and
0 deletions
... | @@ -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'; | ... | ... |
-
Please register or login to post a comment