Showing
1 changed file
with
0 additions
and
306 deletions
... | @@ -73,7 +73,6 @@ function getAllToons() { | ... | @@ -73,7 +73,6 @@ function getAllToons() { |
73 | var daum = 'http://webtoon.daum.net/data/pc/webtoon/list_finished/?genre_id=&timeStamp=1575275921086'; | 73 | var daum = 'http://webtoon.daum.net/data/pc/webtoon/list_finished/?genre_id=&timeStamp=1575275921086'; |
74 | var site = 'daum'; | 74 | var site = 'daum'; |
75 | client.fetch(daum, {}, function (err, $, res, body) { | 75 | client.fetch(daum, {}, function (err, $, res, body) { |
76 | - var p = Promise.resolve(); | ||
77 | var data = JSON.parse(body); | 76 | var data = JSON.parse(body); |
78 | var list = data["data"]; | 77 | var list = data["data"]; |
79 | list.forEach(function (item, idx) { | 78 | list.forEach(function (item, idx) { |
... | @@ -775,308 +774,3 @@ router.get('/', | ... | @@ -775,308 +774,3 @@ router.get('/', |
775 | }); | 774 | }); |
776 | 775 | ||
777 | module.exports = router; | 776 | module.exports = router; |
778 | -var express = require('express'); | ||
779 | -var cheerio = require('cheerio'); | ||
780 | -var request = require('request'); | ||
781 | -//axios 추가 설치된거 확인하기 | ||
782 | -var router = express.Router(); | ||
783 | -var mysql = require('mysql'); | ||
784 | -var client = require('cheerio-httpcli'); | ||
785 | -var passport = require('passport'), | ||
786 | - KakaoStrategy = require('passport-kakao').Strategy; | ||
787 | - | ||
788 | -passport.use(new KakaoStrategy({ | ||
789 | - clientID : 'bd2e610396fb7bbb84cf91a786b3cc72', | ||
790 | - callbackURL :'/auth/login/kakao/callback', | ||
791 | - clientSecret : 'eUtJGtlLoCZJufevp3LKfDP0KOtZUV7R' | ||
792 | - }, | ||
793 | - function(accessToken, refreshToken,params, profile, done){ | ||
794 | - //사용자 정보는 profile에 | ||
795 | - loginByThirdparty(accessToken, refreshToken, profile); | ||
796 | - | ||
797 | - console.log("(!)로그인 : " + profile._json.id+"("+profile._json.properties.nickname +")"); | ||
798 | - //return done(null,profile) | ||
799 | - return done(null, { | ||
800 | - 'user_id': profile._json.id, | ||
801 | - 'nickname': profile._json.properties.nickname | ||
802 | - }); | ||
803 | - } | ||
804 | -)); | ||
805 | - | ||
806 | -// kakao 로그인 | ||
807 | -router.get('/auth/login/kakao', | ||
808 | - // passport.authenticate('kakao',{state: "myStateValue"}) | ||
809 | - passport.authenticate('kakao') | ||
810 | -); | ||
811 | - | ||
812 | -// kakao 로그인 연동 콜백 | ||
813 | -router.get('/auth/login/kakao/callback', | ||
814 | - passport.authenticate('kakao', { | ||
815 | - //session: false, | ||
816 | - successRedirect: '/mytoons', | ||
817 | - failureRedirect: '/' | ||
818 | - }) | ||
819 | -); | ||
820 | - | ||
821 | -function loginByThirdparty(accessToken, refreshToken, profile) { | ||
822 | - //예전 코드는 MySQL 버젼이 맞지 않음 | ||
823 | - // var sql = 'INSERT INTO `user`(id) VALUES(?) ON DUPLICATE KEY(PRIMARY) UPDATE id=(?);' | ||
824 | - var sql = "INSERT INTO `user` (id) VALUES (?) ON DUPLICATE KEY UPDATE id=id"; | ||
825 | - var kid=[profile._json.id]; | ||
826 | - connection.query(sql,kid,function(err,result){ | ||
827 | - if (err) { | ||
828 | - console.log("로그인 쿼리중 에러 : " + err); | ||
829 | - } else { | ||
830 | - console.log("로그인 DB처리 완료!"); | ||
831 | - } | ||
832 | - }); | ||
833 | -} | ||
834 | - | ||
835 | -router.get('/auth/logout/kakao',function (req,res) { | ||
836 | - req.logout(); | ||
837 | - res.redirect('/'); | ||
838 | -}) | ||
839 | - | ||
840 | -allWebtoons = new Array(); | ||
841 | - | ||
842 | -function getLatestToon(titleid, day ,cb) { | ||
843 | -} | ||
844 | - | ||
845 | -function getAllToons() { | ||
846 | - allWebtoonList = new Array(); | ||
847 | -//월요일 다음 웹툰 | ||
848 | - var mon='mon'; | ||
849 | - var mon_name='MON'; | ||
850 | - var daum = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/mon?timeStamp=1575877780449`; | ||
851 | - var site = 'daum'; | ||
852 | - client.fetch(daum, {}, function (err, $, res, body) { | ||
853 | - var data = JSON.parse(body); | ||
854 | - var list = data["data"]; | ||
855 | - list.forEach(function (item, idx) { | ||
856 | - var webtoon_link = 'http://webtoon.daum.net/webtoon/view/' + item.nickname.toString(); | ||
857 | - var webtoon = { | ||
858 | - toon_index: item.id, | ||
859 | - name: item.title, | ||
860 | - thum_link: item.pcThumbnailImage.url, | ||
861 | - webtoon_link: webtoon_link, | ||
862 | - week :mon_name, | ||
863 | - site: site, | ||
864 | - latest: 0 | ||
865 | - }; | ||
866 | - allWebtoonList.push(webtoon); | ||
867 | - }); | ||
868 | - | ||
869 | - }); | ||
870 | - | ||
871 | -//화요일 다음 웹툰 | ||
872 | - var tue='tue'; | ||
873 | - var tue_name='TUE'; | ||
874 | - var daum1 = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/tue?timeStamp=1575877814179`; | ||
875 | - client.fetch(daum1, {}, function (err, $, res, body) { | ||
876 | - var data = JSON.parse(body); | ||
877 | - var list = data["data"]; | ||
878 | - list.forEach(function(item, idx){ | ||
879 | - var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString(); | ||
880 | - var webtoon= { | ||
881 | - toon_index: item.id, | ||
882 | - name : item.title, | ||
883 | - thum_link : item.pcThumbnailImage.url, | ||
884 | - webtoon_link : webtoon_link, | ||
885 | - week : tue_name, | ||
886 | - site : site, | ||
887 | - latest : 0 | ||
888 | - }; | ||
889 | - allWebtoonList.push(webtoon); | ||
890 | - }); | ||
891 | - | ||
892 | - }); | ||
893 | - | ||
894 | -//수요일 다음 웹툰 | ||
895 | - var wed='wed'; | ||
896 | - var wed_name='WED'; | ||
897 | - var daum2 = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/wed?timeStamp=1575877833390`; | ||
898 | - | ||
899 | - client.fetch(daum2, {}, function (err, $, res, body) { | ||
900 | - var data = JSON.parse(body); | ||
901 | - var list = data["data"]; | ||
902 | - | ||
903 | - list.forEach(function(item, idx){ | ||
904 | - | ||
905 | - var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString(); | ||
906 | - var webtoon= { | ||
907 | - toon_index: item.id, | ||
908 | - name : item.title, | ||
909 | - thum_link : item.pcThumbnailImage.url, | ||
910 | - webtoon_link : webtoon_link, | ||
911 | - week : wed_name, | ||
912 | - site : site, | ||
913 | - latest : 0 | ||
914 | - }; | ||
915 | - allWebtoonList.push(webtoon); | ||
916 | - }); | ||
917 | - | ||
918 | - }); | ||
919 | - | ||
920 | -//목요일 다음 웹툰 | ||
921 | - var thu='thu'; | ||
922 | - var daum3 =`http://webtoon.daum.net/data/pc/webtoon/list_serialized/thu?timeStamp=1575877858989`; | ||
923 | - var thu_name='THU'; | ||
924 | - client.fetch(daum3, {}, function (err, $, res, body) { | ||
925 | - var data = JSON.parse(body); | ||
926 | - var list = data["data"]; | ||
927 | - list.forEach(function(item, idx){ | ||
928 | - var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString(); | ||
929 | - var webtoon= { | ||
930 | - toon_index: item.id, | ||
931 | - name : item.title, | ||
932 | - thum_link : item.pcThumbnailImage.url, | ||
933 | - webtoon_link : webtoon_link, | ||
934 | - week : thu_name, | ||
935 | - site : site, | ||
936 | - latest : 0 | ||
937 | - }; | ||
938 | - allWebtoonList.push(webtoon); | ||
939 | - }); | ||
940 | - | ||
941 | - }); | ||
942 | - | ||
943 | -//금요일 다음 웹툰 | ||
944 | - var fri='fri'; | ||
945 | - var daum4 =`http://webtoon.daum.net/data/pc/webtoon/list_serialized/fri?timeStamp=1575877889317`; | ||
946 | - var fri_name='FRI'; | ||
947 | - client.fetch(daum4, {}, function (err, $, res, body) { | ||
948 | - var data = JSON.parse(body); | ||
949 | - var list = data["data"]; | ||
950 | - list.forEach(function(item, idx){ | ||
951 | - var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString(); | ||
952 | - var webtoon= { | ||
953 | - toon_index: item.id, | ||
954 | - name : item.title, | ||
955 | - thum_link : item.pcThumbnailImage.url, | ||
956 | - webtoon_link : webtoon_link, | ||
957 | - week : fri_name, | ||
958 | - site : site, | ||
959 | - latest : 0 | ||
960 | - }; | ||
961 | - allWebtoonList.push(webtoon); | ||
962 | - }); | ||
963 | - | ||
964 | - }); | ||
965 | - | ||
966 | -//토요일 다음 웹툰 | ||
967 | - var sat='sat'; | ||
968 | - var daum5 =`http://webtoon.daum.net/data/pc/webtoon/list_serialized/sat?timeStamp=1575877911857`; | ||
969 | - var sat_name='SAT'; | ||
970 | - client.fetch(daum5, {}, function (err, $, res, body) { | ||
971 | - var data = JSON.parse(body); | ||
972 | - var list = data["data"]; | ||
973 | - list.forEach(function(item, idx){ | ||
974 | - var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString(); | ||
975 | - var webtoon= { | ||
976 | - toon_index: item.id, | ||
977 | - name : item.title, | ||
978 | - thum_link : item.pcThumbnailImage.url, | ||
979 | - webtoon_link : webtoon_link, | ||
980 | - week : sat_name, | ||
981 | - site : site, | ||
982 | - latest : 0 | ||
983 | - }; | ||
984 | - allWebtoonList.push(webtoon); | ||
985 | - }); | ||
986 | - | ||
987 | - }); | ||
988 | - | ||
989 | -//일요일 다음 웹툰 | ||
990 | - var sun='sun'; | ||
991 | - var daum6 = `http://webtoon.daum.net/data/pc/webtoon/list_serialized/sun?timeStamp=1575877949212`; | ||
992 | - var sun_name='SUN'; | ||
993 | - client.fetch(daum6, {}, function (err, $, res, body) { | ||
994 | - var data = JSON.parse(body); | ||
995 | - var list = data["data"]; | ||
996 | - list.forEach(function(item, idx){ | ||
997 | - //다음 웹툰 아이디, 제목, 요일 | ||
998 | - var webtoon_link='http://webtoon.daum.net/webtoon/view/'+item.nickname.toString(); | ||
999 | - var webtoon= { | ||
1000 | - toon_index: item.id, | ||
1001 | - name : item.title, | ||
1002 | - thum_link : item.pcThumbnailImage.url, | ||
1003 | - webtoon_link : webtoon_link, | ||
1004 | - week : sun_name, | ||
1005 | - site : site, | ||
1006 | - latest : 0 | ||
1007 | - }; | ||
1008 | - allWebtoonList.push(webtoon); | ||
1009 | - }); | ||
1010 | - }); | ||
1011 | - | ||
1012 | -//네이버 웹툰 | ||
1013 | - var allWeeklyToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn"; | ||
1014 | - request(allWeeklyToonsUrl,function (err, res, html) { | ||
1015 | - if(!err){ | ||
1016 | - var $ = cheerio.load(html); | ||
1017 | - var p = Promise.resolve(); | ||
1018 | - var eachs = $(".thumb").each(function (i) { | ||
1019 | - var week = $(this).parent().parent().prev().attr('class'); | ||
1020 | - var webtoon_link = "http://comic.naver.com" + $(this).children().first().attr('href'); | ||
1021 | - var thumb_link = $(this).children().first().children().first().attr('src'); | ||
1022 | - var name = $(this).next().text(); | ||
1023 | - var titleid = webtoon_link.split('?')[1].split('&')[0].split('=')[1]; | ||
1024 | - var site = 'naver'; | ||
1025 | - var webtoon= { | ||
1026 | - toon_index: titleid, | ||
1027 | - name : name, | ||
1028 | - thum_link : thumb_link, | ||
1029 | - webtoon_link : webtoon_link, | ||
1030 | - week : week, | ||
1031 | - site : site, | ||
1032 | - latest : 0 | ||
1033 | - }; | ||
1034 | - allWebtoonList.push(webtoon); | ||
1035 | - }); | ||
1036 | - p.then(function() { | ||
1037 | - i = 0; | ||
1038 | - allWebtoonList.forEach(function (webtoon) { | ||
1039 | - var sql= "INSERT INTO `toon` (toon_index, name, thum_link, webtoon_link, week, site, latest) VALUES(?) ON DUPLICATE KEY UPDATE latest=latest"; | ||
1040 | - var values=[webtoon.toon_index, webtoon.name, webtoon.thum_link, webtoon.webtoon_link,webtoon.week, webtoon.site, webtoon.latest]; | ||
1041 | - connection.query(sql,[values],function(err,result){ | ||
1042 | - if (err) { | ||
1043 | - console.log("웹툰 DB 에러 : " + err); | ||
1044 | - } else { | ||
1045 | - // console.log("웹툰 DB처리 완료!"); | ||
1046 | - } | ||
1047 | - }); | ||
1048 | - //}); | ||
1049 | - }) | ||
1050 | - }); | ||
1051 | - } | ||
1052 | - }); | ||
1053 | - allWebtoons = allWebtoonList; | ||
1054 | -}; | ||
1055 | - | ||
1056 | - | ||
1057 | - | ||
1058 | -getAllToons(); | ||
1059 | -//처음 한번 수행 | ||
1060 | -setInterval(getAllToons,5*60*1000); | ||
1061 | -//5분에 한번 수행 | ||
1062 | - | ||
1063 | - | ||
1064 | -/* GET home page. */ | ||
1065 | - | ||
1066 | - | ||
1067 | -router.get('/', | ||
1068 | - function(req,res,next){ | ||
1069 | - if(req.isAuthenticated()){ | ||
1070 | - res.redirect('/mytoons'); | ||
1071 | - console.log("(!)이미 로그인"); | ||
1072 | - }else{ | ||
1073 | - console.log("(!)로그인세션 없음"); | ||
1074 | - res.render('index',{ | ||
1075 | - title: "니툰내툰", | ||
1076 | - list: allWebtoons | ||
1077 | - | ||
1078 | - }); | ||
1079 | - } | ||
1080 | - }); | ||
1081 | - | ||
1082 | -module.exports = router; | ... | ... |
-
Please register or login to post a comment