diff --git a/docs/README.md b/docs/README.md index 39cb262ab0..209849728d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -757,6 +757,10 @@ GitHub 官方也提供了一些 RSS: +### TesterHome + + + ## 直播 ### 哔哩哔哩直播 diff --git a/router.js b/router.js index 4617b4c0aa..e47a8b049c 100644 --- a/router.js +++ b/router.js @@ -821,6 +821,9 @@ router.get('/idownloadblog', require('./routes/idownloadblog/index')); // 9to5 router.get('/9to5/:type', require('./routes/9to5/subsite')); +// TesterHome +router.get('/testerhome/newest', require('./routes/testerhome/newest')); + // 刷屏 router.get('/weseepro/newest', require('./routes/weseepro/newest')); router.get('/weseepro/circle', require('./routes/weseepro/circle')); diff --git a/routes/testerhome/newest.js b/routes/testerhome/newest.js new file mode 100644 index 0000000000..974be82d80 --- /dev/null +++ b/routes/testerhome/newest.js @@ -0,0 +1,31 @@ +const axios = require('../../utils/axios'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const response = await axios({ + method: 'get', + url: 'https://testerhome.com/topics/last', + }); + + const $ = cheerio.load(response.data); + const resultItem = $('.item-list .topic') + .map((index, elem) => { + elem = $(elem); + const $link = elem.find('.title a'); + const title = $link.attr('title'); + + return { + title, + link: `https://testerhome.com${$link.attr('href')}`, + description: title, + }; + }) + .get(); + + ctx.state.data = { + title: 'TesterHome-最新发布', + link: 'https://testerhome.com/topics/last', + description: 'TesterHome软件测试社区,人气最旺的软件测试技术门户,提供软件测试社区交流,测试沙龙。', + item: resultItem, + }; +};