From c5207b77588c033568df896a56e4be7f2f963535 Mon Sep 17 00:00:00 2001 From: pplokijuhyg <1162963624@qq.com> Date: Thu, 2 Jan 2020 10:24:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 6 +++ bin/reptile/binimport.js | 12 +++--- bin/reptile/gufengmh8/find.js | 2 +- bin/reptile/gufengmh8/picture.js | 9 ++++- controllers/main.js | 63 +++++++++++++------------------- 5 files changed, 46 insertions(+), 46 deletions(-) diff --git a/app.js b/app.js index 9c115a4..d36f835 100644 --- a/app.js +++ b/app.js @@ -3,6 +3,12 @@ const requter = require("./bin/router.js"); dbs = require("./bin/mongodb.js")('mongodb://localhost:27017/Cartoon-And-Fiction',"Cartoon-And-Fiction") // console.log(requter) // import requter from "./bin/router" +let reptile = require("./bin/reptile/binimport") +reptilelist = []; +reptile().then((res)=>{ + // console.log(res) + reptilelist = res; +}) const app = new Koa(); app.use(async (ctx,next)=>{ // await next(); diff --git a/bin/reptile/binimport.js b/bin/reptile/binimport.js index 5ce9dcd..0ceafa0 100644 --- a/bin/reptile/binimport.js +++ b/bin/reptile/binimport.js @@ -1,18 +1,20 @@ let fs = require("fs") let getreptilelist =(dirlist)=>{ - new Promise((res,err)=>{ - console.log(dirlist) + return new Promise((res,err)=>{ + let reptilelist = []; + // console.log(dirlist) for(let i in dirlist){ let reptile = require(__dirname + "/" + dirlist[i] +"/config.js" ) - console.log(reptile) + // console.log(reptile) reptilelist.push(reptile) } + res(reptilelist) }) } getlist =()=>{ - new Promise((r,e)=>{ + return new Promise((r,e)=>{ fs.readdir(__dirname, (err, res) => { for (let i in res) { if (res[i] == "binimport.js") { @@ -28,7 +30,7 @@ getlist =()=>{ }) } -module.exports = getlist() +module.exports = getlist diff --git a/bin/reptile/gufengmh8/find.js b/bin/reptile/gufengmh8/find.js index d2c8ed3..5fe638f 100644 --- a/bin/reptile/gufengmh8/find.js +++ b/bin/reptile/gufengmh8/find.js @@ -36,7 +36,7 @@ let gethtml = async (name, page) => { let getlist = async (name) => { let html; html = await gethtml(name, 1) - console.log(JSON.stringify(html)) + // console.log(JSON.stringify(html)) return html; } // getlist("偷星九月天") diff --git a/bin/reptile/gufengmh8/picture.js b/bin/reptile/gufengmh8/picture.js index 9e60c64..703f1fd 100644 --- a/bin/reptile/gufengmh8/picture.js +++ b/bin/reptile/gufengmh8/picture.js @@ -2,12 +2,14 @@ const cheerio = require('cheerio'); const axios = require('axios') let getscript = async (url) => { let text; + url = "https://www.gufengmh8.com" + url await axios.get(url).then((res)=>{ // text = res.text // console.log(res.data) text = res.data }) let $ = cheerio.load(text); + let list; $('script').each((index, ele) => { // console.log(ele) let text = $(ele).html() @@ -23,10 +25,13 @@ let getscript = async (url) => { // prevChapterData 上一页信息 // nextChapterData 下一页信息 // 页面地址为 基础url + 页信息.id - console.log({ imghost, chapterPath, chapterImages, pageTitle, pageUrl, prevChapterData, nextChapterData, pageImage }) - return { imghost, chapterPath, chapterImages, pageTitle, pageUrl, prevChapterData, nextChapterData, pageImage } + // console.log({ imghost, chapterPath, chapterImages, pageTitle, pageUrl, prevChapterData, nextChapterData, pageImage }) + list = { imghost, chapterPath, chapterImages, pageTitle, pageUrl, prevChapterData, nextChapterData, pageImage } + // console.log(list) } }) + return list; + } // getscript('') diff --git a/controllers/main.js b/controllers/main.js index 2075f45..0d88b9b 100644 --- a/controllers/main.js +++ b/controllers/main.js @@ -1,42 +1,29 @@ -let getlist = async (ctx,next)=>{ - await dbs.find('list').then((res)=>{ - data = []; - for(let i in res.data){ - data.push({ - id:res.data[i].num_key, - type:res.data[i].type, - name:res.data[i].name - }) - } - ctx.body = JSON.stringify({code:0,data}) - }) - // next() -} -//添加需要爬取的项目 name url type 0小说 1漫画 -let addproject = async (ctx,next)=>{ - if(ctx.query.name == undefined || ctx.query.url == undefined || ctx.query.type ==undefined){ - ctx.body = "{code:1,msg:参数不能为空}" - }else{ - await dbs.add('list',{name:ctx.query.name,url:ctx.query.url,type:ctx.query.type}).then((res)=>{ - ctx.body = JSON.stringify(res) - }) - } - // next() -} -let rmproject = async (ctx,next) =>{ - if(ctx.query.id == undefined){ - ctx.body = "{code:1,msg:参数不能为空}" - }else{ - await dbs.remove('list',{'num_key':ctx.query.id}).then((res)=>{ - ctx.body="{code:1,msg:删除成功}" - }) - } -} -let findlist = async (ctx,next)=>{ +let findlist = async (ctx,next)=>{ + let list = [] + for(let i in reptilelist){ + let a = await reptilelist[i].find(ctx.query.name) + list.push({name:reptilelist[i].name,list: [...a]}) + } + ctx.body = JSON.stringify(list) +} +let section = async(ctx,next)=>{ + for(let i in reptilelist){ + if(ctx.query.name == reptilelist[i].name){ + ctx.body = await reptilelist[i].section(ctx.query.url) + } + } +} +let picture = async(ctx,next)=>{ + for(let i in reptilelist){ + if(ctx.query.name == reptilelist[i].name){ + // console.log(await reptilelist[i].imglist(ctx.query.url)) + ctx.body = await reptilelist[i].imglist(ctx.query.url) + } + } } module.exports = { - 'GET /getlist':getlist, - 'GET /addproject':addproject, - 'GET /rmproject':rmproject + 'GET /find':findlist, + 'GET /section':section, + 'GET /picture':picture } \ No newline at end of file