diff --git a/docs/other.md b/docs/other.md index e4ca5d21d9..ed1bb8e3ea 100644 --- a/docs/other.md +++ b/docs/other.md @@ -406,6 +406,10 @@ type 为 all 时,category 参数不支持 cost 和 free +### 腾讯新闻 - 新型冠状病毒肺炎实时辟谣 + + + ### South China Morning Post - China coronavirus outbreak diff --git a/lib/router.js b/lib/router.js index 3b299bbbf7..0f3c0fefc9 100644 --- a/lib/router.js +++ b/lib/router.js @@ -2162,6 +2162,7 @@ router.get('/coronavirus/dxy', require('./routes/coronavirus/dxy')); router.get('/coronavirus/scmp', require('./routes/coronavirus/scmp')); router.get('/coronavirus/nhc', require('./routes/coronavirus/nhc')); router.get('/coronavirus/mogov-2019ncov/:lang', require('./routes/coronavirus/mogov-2019ncov')); +router.get('/coronavirus/qq/fact', require('./routes/coronavirus/qq-fact')); // 南京林业大学教务处 router.get('/njfu/jwc/:category?', require('./routes/universities/njfu/jwc')); diff --git a/lib/routes/coronavirus/qq-fact.js b/lib/routes/coronavirus/qq-fact.js new file mode 100644 index 0000000000..dca2e7f860 --- /dev/null +++ b/lib/routes/coronavirus/qq-fact.js @@ -0,0 +1,42 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); + +module.exports = async (ctx) => { + const response = await got({ + method: 'get', + url: 'https://vp.fact.qq.com/loadmore?artnum=0&page=0', + headers: { + Referer: 'https://vp.fact.qq.com/home', + }, + }); + + const data = response.data.content; + + const items = await Promise.all( + (data || []).map(async (item) => { + const link = `https://vp.fact.qq.com/article?id=${item.id}`; + const simple = { + title: `【${item.explain}】${item.title}`, + description: `${item.abstract}`, + pubDate: new Date(item.date).toUTCString(), + author: item.author, + link: link, + }; + + const details = await ctx.cache.tryGet(link, async () => { + const response = await got.get(link); + const $ = cheerio.load(response.data); + return { + description: `${$('.check_content_points').html()}`, + }; + }); + return Promise.resolve(Object.assign({}, simple, details)); + }) + ); + + ctx.state.data = { + title: '新型冠状病毒肺炎实时辟谣-腾讯新闻', + link: 'https://vp.fact.qq.com/home', + item: items, + }; +};