diff --git a/router.js b/router.js index 8e9531665..7963fe83d 100644 --- a/router.js +++ b/router.js @@ -71,4 +71,7 @@ router.get('/douban/movie/ustop', require('./routes/douban/ustop')); // 煎蛋 router.get('/jandan/pic', require('./routes/jandan/pic')); +// 图卦 +router.get('/dapenti/tugua', require('./routes/dapenti/tugua')); + module.exports = router; diff --git a/routes/dapenti/tugua.js b/routes/dapenti/tugua.js new file mode 100644 index 000000000..2e56b8b1b --- /dev/null +++ b/routes/dapenti/tugua.js @@ -0,0 +1,57 @@ +const axios = require('axios'); +const art = require('art-template'); +const path = require('path'); +const cheerio = require('cheerio'); +const config = require('../../config'); +const iconv = require('iconv-lite'); + +module.exports = async (ctx) => { + const listRes = await axios({ + method: 'get', + url: `https://www.dapenti.com/blog/blog.asp?name=xilei&subjectid=70`, + headers: { + 'User-Agent': config.ua, + 'Referer': `https://www.dapenti.com/blog/blog.asp?name=xilei&subjectid=70`, + }, + // 喷嚏网编码为GBK,需要转码 + // 转码需要设定返回数据的格式,其可选项是arraybuffer,blob,document,json,text,stream + // 默认为json + responseType: 'arraybuffer' + }); + // 转码 + const data = iconv.decode(listRes.data, 'gb2312'); + const $ = cheerio.load(data); + // 只取最近的三个图卦,取全文rss + const list = $('li','ul').slice(0,3); + let result_item = []; + //为了避免async/await嵌套,使用for循环代替map方法 + for(let i=0;i