diff --git a/docs/README.md b/docs/README.md index 29ca92164..c7a72b9b4 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1830,6 +1830,14 @@ IATA 国际航空运输协会机场代码, 参见[维基百科 国际航空运 +### GNN.tw 游戏新闻 + + + +### a9vgNews 游戏新闻 + + + ## 小说·文学·阅读 ### 观止(每日一文) diff --git a/router.js b/router.js index decb33ea5..1e63fa766 100644 --- a/router.js +++ b/router.js @@ -753,6 +753,12 @@ router.get('/hko/weather', require('./routes/hko/weather')); // sankakucomplex router.get('/sankakucomplex/post', require('./routes/sankakucomplex/post')); +// gnn游戏新闻 +router.get('/gnn/gnn', require('./routes/gnn/gnn')); + +// a9vg游戏新闻 +router.get('/a9vg/a9vg', require('./routes/a9vg/a9vg')); + // IT桔子 router.get('/itjuzi/invest', require('./routes/itjuzi/invest')); router.get('/itjuzi/merge', require('./routes/itjuzi/merge')); diff --git a/routes/a9vg/a9vg.js b/routes/a9vg/a9vg.js new file mode 100644 index 000000000..bd0936b01 --- /dev/null +++ b/routes/a9vg/a9vg.js @@ -0,0 +1,36 @@ +const axios = require('../../utils/axios'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const response = await axios({ + method: 'get', + url: 'http://www.a9vg.com/news/', + headers: { + Referer: 'http://www.a9vg.com/news/', + }, + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.txt-r-img.combine2 dl'); + + ctx.state.data = { + title: 'A9VG电玩部落', + link: 'http://www.a9vg.com/news/', + description: '电玩资讯_电玩动态- A9VG电玩部落', + item: + list && + list + .map((index, item) => { + item = $(item); + return { + title: item.find('.img-scale').attr('title'), + description: item.find('p').text() + '', + pubDate: new Date(item.find('.time').data('shared-at')).toUTCString(), + link: item.find('.img-scale').attr('href'), + }; + }) + .get(), + }; +}; diff --git a/routes/gnn/gnn.js b/routes/gnn/gnn.js new file mode 100644 index 000000000..9253ffee1 --- /dev/null +++ b/routes/gnn/gnn.js @@ -0,0 +1,36 @@ +const axios = require('../../utils/axios'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const response = await axios({ + method: 'get', + url: 'https://gnn.gamer.com.tw/', + headers: { + Referer: 'hhttps://gnn.gamer.com.tw/', + }, + }); + + const data = response.data; + + const $ = cheerio.load(data); + const list = $('.GN-lbox2 .GN-lbox2B'); + + ctx.state.data = { + title: 'GNN 新聞網 - 巴哈姆特 edited by monner', + link: 'https://gnn.gamer.com.tw/', + description: '巴 哈 姆 特 電 玩 資 訊 站 https://www.gamer.com.tw', + item: + list && + list + .map((index, item) => { + item = $(item); + return { + title: item.find('.GN-lbox2D').text(), + description: item.find('.GN-lbox2C').text() + '', + pubDate: new Date(item.find('.time').data('shared-at')).toUTCString(), + link: item.find('.GN-lbox2D a').attr('href'), + }; + }) + .get(), + }; +};