From 0d0ec741c1c3c0426fafecbfb68726c93bfe01e5 Mon Sep 17 00:00:00 2001 From: Andvari <31068367+dzx-dzx@users.noreply.github.com> Date: Wed, 16 Aug 2023 07:39:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(route):=20=E6=9B=B4=E6=8D=A2=E8=B4=A2?= =?UTF-8?q?=E6=96=B0=E6=9C=80=E6=96=B0=E6=96=87=E7=AB=A0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=20(#13023)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 更换财新最新文章获取方式。 * Update latest.js * Update latest.js * Update latest.js --- lib/v2/caixin/latest.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/lib/v2/caixin/latest.js b/lib/v2/caixin/latest.js index c53bfa215..20425366c 100644 --- a/lib/v2/caixin/latest.js +++ b/lib/v2/caixin/latest.js @@ -1,18 +1,17 @@ const got = require('@/utils/got'); const cheerio = require('cheerio'); -const { parseDate } = require('@/utils/parse-date'); -const timezone = require('@/utils/timezone'); const { art } = require('@/utils/render'); const path = require('path'); module.exports = async (ctx) => { - const li_r = await got('https://www.caixin.com/search/scroll/0.jsp'); + const {data} = await got('https://gateway.caixin.com/api/dataplatform/scroll/index').json(); - const $ = cheerio.load(li_r.data); - const list = $('div.news_content dl dd') - .toArray() - .map((dd) => ({ - link: $(dd).find('a').first().attr('href').replace('http://', 'https://'), + const list = data + .articleList.map((e) => ({ + title: e.title, + link: e.url, + pubDate: e.time, + category: e.channelObject.name })) .filter((item) => !item.link.startsWith('https://fm.caixin.com/') && !item.link.startsWith('https://video.caixin.com/') && !item.link.startsWith('https://datanews.caixin.com/')); // content filter @@ -21,8 +20,6 @@ module.exports = async (ctx) => { ctx.cache.tryGet(`caixin:latest:${item.link}`, async () => { const entry_r = await got(item.link); const $ = cheerio.load(entry_r.data); - // title - const h1 = $('#conTit h1').text(); // desc const desc = art(path.join(__dirname, 'templates/article.art'), { @@ -30,9 +27,7 @@ module.exports = async (ctx) => { $, }); - item.title = h1; item.description = desc; - item.pubDate = timezone(parseDate($('#pubtime_baidu').text()), +8); // prevent cache coliision with /caixin/article and /caixin/:column/:category // since those have podcasts item.guid = `caixin:latest:${item.link}`;