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
이진아
2019-12-05 16:09:54 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
186e8cfbd318ca1aa669c3e91dd10ff7b871f32e
186e8cfb
1 parent
8d15b71f
파일 분리!
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
187 additions
and
0 deletions
routes/index4.js
routes/index4.js
0 → 100644
View file @
186e8cf
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
(
'/'
);
})
//--------------------------------------------------------------------------------------------------------
allWebtoons4
=
new
Array
();
function
getAllToons4
()
{
allWebtoonList4
=
new
Array
();
//현재 상영작 좋아요 순
const
currentlikemovie
=
'https://movie.naver.com/movie/running/current.nhn?view=list&tab=normal&order=likeCount'
;
axios
.
get
(
currentlikemovie
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
currentLikeMovie
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$movieList
=
$
(
'div.lst_wrap ul.lst_detail_t1'
).
children
(
'li'
);
$movieList
.
each
(
function
(
i
)
{
currentLikeMovie
[
i
]
=
{
title
:
$
(
this
).
find
(
'dt.tit a'
).
text
(),
img
:
$
(
this
).
find
(
'div.thumb img'
).
attr
(
'src'
)
//개봉예정작에선 star가 없음
//star: $(this).find('em.num_likeit').text().replace(/\t/gi, '').replace(/\n/gi,'')
};
});
const
data
=
currentLikeMovie
.
filter
(
m
=>
m
.
title
);
allWebtoonList4
.
push
(
data
);
//console.log(data);
}
},
(
error
)
=>
console
.
log
(
error
));
//현재 상영작 예매 순
const
runningreserve
=
'https://movie.naver.com/movie/running/current.nhn?view=list&tab=normal&order=reserve'
;
axios
.
get
(
runningreserve
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
crawledMovie
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$movieList
=
$
(
'div.lst_wrap ul.lst_detail_t1'
).
children
(
'li'
);
$movieList
.
each
(
function
(
i
)
{
crawledMovie
[
i
]
=
{
title
:
$
(
this
).
find
(
'dt.tit a'
).
text
(),
img
:
$
(
this
).
find
(
'div.thumb img'
).
attr
(
'src'
)
};
});
const
data
=
crawledMovie
.
filter
(
m
=>
m
.
title
);
allWebtoonList4
.
push
(
data
);
//console.log(data);
}
},
(
error
)
=>
console
.
log
(
error
));
//개봉 예정영화 기대지수순
const
premovieinterest
=
'https://movie.naver.com/movie/running/premovie.nhn?order=interestRate'
;
axios
.
get
(
premovieinterest
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
crawledMovie
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$movieList
=
$
(
'div.lst_wrap ul.lst_detail_t1'
).
children
(
'li'
);
$movieList
.
each
(
function
(
i
)
{
crawledMovie
[
i
]
=
{
title
:
$
(
this
).
find
(
'dt.tit a'
).
text
(),
img
:
$
(
this
).
find
(
'div.thumb img'
).
attr
(
'src'
)
};
});
const
data
=
crawledMovie
.
filter
(
m
=>
m
.
title
);
allWebtoonList4
.
push
(
data
);
//console.log(data);
}
},
(
error
)
=>
console
.
log
(
error
));
//계봉 예정영화 예매순
const
prereserve
=
'https://movie.naver.com/movie/running/premovie.nhn?order=reserve'
;
axios
.
get
(
prereserve
).
then
(
res
=>
{
if
(
res
.
status
===
200
)
{
let
crawledMovie
=
[];
const
$
=
cheerio
.
load
(
res
.
data
);
const
$movieList
=
$
(
'div.lst_wrap ul.lst_detail_t1'
).
children
(
'li'
);
$movieList
.
each
(
function
(
i
)
{
crawledMovie
[
i
]
=
{
title
:
$
(
this
).
find
(
'dt.tit a'
).
text
(),
img
:
$
(
this
).
find
(
'div.thumb img'
).
attr
(
'src'
)
};
});
const
data
=
crawledMovie
.
filter
(
m
=>
m
.
title
);
allWebtoonList4
.
push
(
data
);
//console.log(data);
}
},
(
error
)
=>
console
.
log
(
error
));
allWebtoons4
=
allWebtoonList4
;
}
getAllToons4
();
setInterval
(
getAllToons4
,
5
*
60
*
1000
);
/* GET home page. */
//진아 : list :allWebtoons2.3 해도 되는지??!!
router
.
get
(
'/'
,
function
(
req
,
res
,
next
){
if
(
req
.
isAuthenticated
()){
res
.
redirect
(
'/mytoons'
);
console
.
log
(
"(!)이미 로그인"
);
}
else
{
console
.
log
(
"(!)로그인세션 없음"
);
res
.
render
(
'index'
,{
title
:
"니툰내툰"
,
list
:
allWebtoons4
});
}
});
module
.
exports
=
router
;
Please
register
or
login
to post a comment