Toggle navigation
Toggle navigation
This project
Loading...
Sign in
이하영
/
YTMT
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
wnwnw
2019-12-10 19:02:13 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
685e5bdc7ffb06e9105561e28d512e7178c1e051
685e5bdc
1 parent
ddcbeba1
완결웹툰 배열 통합
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
777 additions
and
0 deletions
routes/index.js
routes/index.js
View file @
685e5bd
...
...
@@ -68,6 +68,783 @@ function getLatestToon(titleid, day ,cb) {
function
getAllToons
()
{
allWebtoonList
=
new
Array
();
//다음 연재완료 웹툰
var
daum
=
'http://webtoon.daum.net/data/pc/webtoon/list_finished/?genre_id=&timeStamp=1575275921086'
;
var
site
=
'daum'
;
client
.
fetch
(
daum
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
p
=
Promise
.
resolve
();
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
)
{
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
yyyy
=
(
item
.
finishDate
).
substring
(
0
,
4
)
var
site
=
'daum'
;
var
week
=
'finished'
;
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
week
,
//year : yyyy,
site
:
site
,
latest
:
0
}
allWebtoonList
.
push
(
webtoon
);
});
});
const
naver2019
=
'https://comic.naver.com/webtoon/period.nhn?period=2019'
;
var
site
=
'naver'
;
axios
.
get
(
naver2019
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2019
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2019
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2019
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2019
[
i
]);
});
//const data = naver2019.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2018
=
'https://comic.naver.com/webtoon/period.nhn?period=2018'
;
axios
.
get
(
naver2018
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2018
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2018
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2018
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2018
[
i
]);
});
//const data = naver2018.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2017
=
'https://comic.naver.com/webtoon/period.nhn?period=2017'
;
axios
.
get
(
naver2017
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2017
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2017
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2017
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2017
[
i
]);
});
//const data = naver2017.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2016
=
'https://comic.naver.com/webtoon/period.nhn?period=2016'
;
axios
.
get
(
naver2016
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2016
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2016
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2016
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2016
[
i
]);
});
//const data = naver2016.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2015
=
'https://comic.naver.com/webtoon/period.nhn?period=2015'
;
axios
.
get
(
naver2015
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2015
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2015
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2015
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2015
[
i
]);
});
//const data = naver2015.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2014
=
'https://comic.naver.com/webtoon/period.nhn?period=2014'
;
axios
.
get
(
naver2014
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2014
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2014
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2014
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2014
[
i
]);
});
//const data = naver2014.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2013
=
'https://comic.naver.com/webtoon/period.nhn?period=2013'
;
axios
.
get
(
naver2013
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2013
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2013
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2013
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2013
[
i
]);
});
//const data = naver2013.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2012
=
'https://comic.naver.com/webtoon/period.nhn?period=2012'
;
axios
.
get
(
naver2012
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2012
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2012
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2012
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2012
[
i
]);
});
//const data = naver2012.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2011
=
'https://comic.naver.com/webtoon/period.nhn?period=2011'
;
axios
.
get
(
naver2011
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2011
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2011
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2011
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2011
[
i
]);
});
//const data = naver2011.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2010
=
'https://comic.naver.com/webtoon/period.nhn?period=2010'
;
axios
.
get
(
naver2010
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2010
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2010
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2010
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2010
[
i
]);
});
//const data = naver2010.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2009
=
'https://comic.naver.com/webtoon/period.nhn?period=2009'
;
axios
.
get
(
naver2009
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2009
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2009
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2009
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2009
[
i
]);
});
//const data = naver2009.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2008
=
'https://comic.naver.com/webtoon/period.nhn?period=2008'
;
axios
.
get
(
naver2008
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2008
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2008
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2008
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2008
[
i
]);
});
//const data = naver2008.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2007
=
'https://comic.naver.com/webtoon/period.nhn?period=2007'
;
axios
.
get
(
naver2007
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2007
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2007
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2007
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2007
[
i
]);
});
//const data = naver2007.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2006
=
'https://comic.naver.com/webtoon/period.nhn?period=2006'
;
axios
.
get
(
naver2006
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
naver2006
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2006
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2006
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2006
[
i
]);
});
//const data = naver2006.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
},
(
error
)
=>
console
.
log
(
error
));
const
naver2005
=
'https://comic.naver.com/webtoon/period.nhn?period=2005'
;
axios
.
get
(
naver2005
).
then
(
res
=>
{
var
p
=
Promise
.
resolve
();
if
(
res
.
status
===
200
)
{
let
naver2005
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$toonList
=
$
(
'#content > div.list_area.daily_img > ul > li'
);
var
tn
=
2005
;
var
week
=
'finished'
$toonList
.
each
(
function
(
i
)
{
naver2005
[
i
]
=
{
toon_index
:
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
).
split
(
'='
)[
1
],
name
:
$
(
this
).
find
(
'dl > dt > a'
).
text
(),
thumb_link
:
$
(
this
).
find
(
'div > a > img'
).
attr
(
'src'
),
webtoon_link
:
"http://comic.naver.com"
+
$
(
this
).
find
(
'li > div > a'
).
attr
(
'href'
),
week
:
week
,
//year : tn,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
naver2005
[
i
]);
});
//const data = naver2005.filter(m => m.title);
//allWebtoonList3.push(data);
//console.log(allWebtoonList3)
}
})
}
//월요일 다음 웹툰
var
mon
=
'mon'
;
var
mon_name
=
'MON'
;
var
daum
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/mon?timeStamp=1575877780449`
;
var
site
=
'daum'
;
client
.
fetch
(
daum
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
)
{
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
mon_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//화요일 다음 웹툰
var
tue
=
'tue'
;
var
tue_name
=
'TUE'
;
var
daum1
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/tue?timeStamp=1575877814179`
;
client
.
fetch
(
daum1
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
){
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
tue_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//수요일 다음 웹툰
var
wed
=
'wed'
;
var
wed_name
=
'WED'
;
var
daum2
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/wed?timeStamp=1575877833390`
;
client
.
fetch
(
daum2
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
){
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
wed_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//목요일 다음 웹툰
var
thu
=
'thu'
;
var
daum3
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/thu?timeStamp=1575877858989`
;
var
thu_name
=
'THU'
;
client
.
fetch
(
daum3
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
){
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
thu_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//금요일 다음 웹툰
var
fri
=
'fri'
;
var
daum4
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/fri?timeStamp=1575877889317`
;
var
fri_name
=
'FRI'
;
client
.
fetch
(
daum4
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
){
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
fri_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//토요일 다음 웹툰
var
sat
=
'sat'
;
var
daum5
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/sat?timeStamp=1575877911857`
;
var
sat_name
=
'SAT'
;
client
.
fetch
(
daum5
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
){
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
sat_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//일요일 다음 웹툰
var
sun
=
'sun'
;
var
daum6
=
`http://webtoon.daum.net/data/pc/webtoon/list_serialized/sun?timeStamp=1575877949212`
;
var
sun_name
=
'SUN'
;
client
.
fetch
(
daum6
,
{},
function
(
err
,
$
,
res
,
body
)
{
var
data
=
JSON
.
parse
(
body
);
var
list
=
data
[
"data"
];
list
.
forEach
(
function
(
item
,
idx
){
//다음 웹툰 아이디, 제목, 요일
var
webtoon_link
=
'http://webtoon.daum.net/webtoon/view/'
+
item
.
nickname
.
toString
();
var
webtoon
=
{
toon_index
:
item
.
id
,
name
:
item
.
title
,
thum_link
:
item
.
pcThumbnailImage
.
url
,
webtoon_link
:
webtoon_link
,
week
:
sun_name
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
});
//네이버 웹툰
var
allWeeklyToonsUrl
=
"http://comic.naver.com/webtoon/weekday.nhn"
;
request
(
allWeeklyToonsUrl
,
function
(
err
,
res
,
html
)
{
if
(
!
err
){
var
$
=
cheerio
.
load
(
html
);
var
p
=
Promise
.
resolve
();
var
eachs
=
$
(
".thumb"
).
each
(
function
(
i
)
{
var
week
=
$
(
this
).
parent
().
parent
().
prev
().
attr
(
'class'
);
var
webtoon_link
=
"http://comic.naver.com"
+
$
(
this
).
children
().
first
().
attr
(
'href'
);
var
thumb_link
=
$
(
this
).
children
().
first
().
children
().
first
().
attr
(
'src'
);
var
name
=
$
(
this
).
next
().
text
();
var
titleid
=
webtoon_link
.
split
(
'?'
)[
1
].
split
(
'&'
)[
0
].
split
(
'='
)[
1
];
var
site
=
'naver'
;
var
webtoon
=
{
toon_index
:
titleid
,
name
:
name
,
thum_link
:
thumb_link
,
webtoon_link
:
webtoon_link
,
week
:
week
,
site
:
site
,
latest
:
0
};
allWebtoonList
.
push
(
webtoon
);
});
p
.
then
(
function
()
{
i
=
0
;
allWebtoonList
.
forEach
(
function
(
webtoon
)
{
var
sql
=
"INSERT INTO `toon` (toon_index, name, thum_link, webtoon_link, week, site, latest) VALUES(?) ON DUPLICATE KEY UPDATE latest=latest"
;
var
values
=
[
webtoon
.
toon_index
,
webtoon
.
name
,
webtoon
.
thum_link
,
webtoon
.
webtoon_link
,
webtoon
.
week
,
webtoon
.
site
,
webtoon
.
latest
];
connection
.
query
(
sql
,[
values
],
function
(
err
,
result
){
if
(
err
)
{
console
.
log
(
"웹툰 DB 에러 : "
+
err
);
}
else
{
// console.log("웹툰 DB처리 완료!");
}
});
//});
})
});
}
allWebtoons
=
allWebtoonList
;
});
getAllToons
();
//처음 한번 수행
setInterval
(
getAllToons
,
5
*
60
*
1000
);
//5분에 한번 수행
/* GET home page. */
router
.
get
(
'/'
,
function
(
req
,
res
,
next
){
if
(
req
.
isAuthenticated
()){
res
.
redirect
(
'/mytoons'
);
console
.
log
(
"(!)이미 로그인"
);
}
else
{
console
.
log
(
"(!)로그인세션 없음"
);
res
.
render
(
'index'
,{
title
:
"니툰내툰"
,
list
:
allWebtoons
});
}
});
module
.
exports
=
router
;
var
express
=
require
(
'express'
);
var
cheerio
=
require
(
'cheerio'
);
var
request
=
require
(
'request'
);
const
axios
=
require
(
'axios'
);
//axios 추가 설치된거 확인하기
var
router
=
express
.
Router
();
var
mysql
=
require
(
'mysql'
);
var
client
=
require
(
'cheerio-httpcli'
);
var
passport
=
require
(
'passport'
),
KakaoStrategy
=
require
(
'passport-kakao'
).
Strategy
;
passport
.
use
(
new
KakaoStrategy
({
clientID
:
'bd2e610396fb7bbb84cf91a786b3cc72'
,
callbackURL
:
'/auth/login/kakao/callback'
,
clientSecret
:
'eUtJGtlLoCZJufevp3LKfDP0KOtZUV7R'
},
function
(
accessToken
,
refreshToken
,
params
,
profile
,
done
){
//사용자 정보는 profile에
loginByThirdparty
(
accessToken
,
refreshToken
,
profile
);
console
.
log
(
"(!)로그인 : "
+
profile
.
_json
.
id
+
"("
+
profile
.
_json
.
properties
.
nickname
+
")"
);
//return done(null,profile)
return
done
(
null
,
{
'user_id'
:
profile
.
_json
.
id
,
'nickname'
:
profile
.
_json
.
properties
.
nickname
});
}
));
// kakao 로그인
router
.
get
(
'/auth/login/kakao'
,
// passport.authenticate('kakao',{state: "myStateValue"})
passport
.
authenticate
(
'kakao'
)
);
// kakao 로그인 연동 콜백
router
.
get
(
'/auth/login/kakao/callback'
,
passport
.
authenticate
(
'kakao'
,
{
//session: false,
successRedirect
:
'/mytoons'
,
failureRedirect
:
'/'
})
);
function
loginByThirdparty
(
accessToken
,
refreshToken
,
profile
)
{
//예전 코드는 MySQL 버젼이 맞지 않음
// var sql = 'INSERT INTO `user`(id) VALUES(?) ON DUPLICATE KEY(PRIMARY) UPDATE id=(?);'
var
sql
=
"INSERT INTO `user` (id) VALUES (?) ON DUPLICATE KEY UPDATE id=id"
;
var
kid
=
[
profile
.
_json
.
id
];
connection
.
query
(
sql
,
kid
,
function
(
err
,
result
){
if
(
err
)
{
console
.
log
(
"로그인 쿼리중 에러 : "
+
err
);
}
else
{
console
.
log
(
"로그인 DB처리 완료!"
);
}
});
}
router
.
get
(
'/auth/logout/kakao'
,
function
(
req
,
res
)
{
req
.
logout
();
res
.
redirect
(
'/'
);
})
allWebtoons
=
new
Array
();
function
getLatestToon
(
titleid
,
day
,
cb
)
{
}
function
getAllToons
()
{
allWebtoonList
=
new
Array
();
//월요일 다음 웹툰
var
mon
=
'mon'
;
var
mon_name
=
'MON'
;
...
...
Please
register
or
login
to post a comment