From cb8416eac5f0acc445210b0da0f4aa473396a111 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 25 Dec 2019 18:43:10 +0800 Subject: [PATCH] fix: sspai series, close #3546 --- lib/routes/sspai/series.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/routes/sspai/series.js b/lib/routes/sspai/series.js index 5c5ddeb16a..785a38c6c6 100644 --- a/lib/routes/sspai/series.js +++ b/lib/routes/sspai/series.js @@ -1,14 +1,17 @@ const got = require('@/utils/got'); +const { JSDOM } = require('jsdom'); module.exports = async (ctx) => { const response = await got({ method: 'get', - url: `https://sspai.com/api/v1/series/page/get?limit=5&sort=weight&offset=0&released_at=0`, - headers: { - Host: 'sspai.com', - }, + url: 'https://sspai.com/series', }); - const data = response.data.data; + + const dom = new JSDOM(response.data, { + runScripts: 'dangerously', + }); + + const data = dom.window.__INITIAL_STATE__.seriesHomeModule.seriesSearchpage; ctx.state.data = { title: '少数派 -- 最新上架付费专栏', @@ -16,9 +19,10 @@ module.exports = async (ctx) => { description: '少数派 -- 最新上架付费专栏', item: data.map((item) => ({ title: item.title, - description: item.summary, + description: `
${item.description}`, link: `https://sspai.com/series/${item.id}`, - author: item.nickname, + author: item.author.nickname, + pubDate: new Date(item.released_at * 1000), })), }; };