RSSHub/lib/v2/thepaper/list.js

28 lines
976 B
JavaScript

const utils = require('./utils');
const cheerio = require('cheerio');
const got = require('@/utils/got');
module.exports = async (ctx) => {
const { id } = ctx.params;
const list_url = `https://m.thepaper.cn/list/${id}`;
const list_url_resp = await got(list_url);
const list_url_data = JSON.parse(cheerio.load(list_url_resp.data)('#__NEXT_DATA__').html());
const resp = await got.post('https://api.thepaper.cn/contentapi/nodeCont/getByNodeIdPortal', {
json: {
nodeId: id,
},
});
const pagePropsData = resp.data.data;
const list = pagePropsData.list;
const items = await Promise.all(list.map((item) => utils.ProcessItem(item, ctx)));
ctx.state.data = {
title: `澎湃新闻栏目 - ${utils.ListIdToName(id, list_url_data)}`,
link: list_url,
item: items,
itunes_author: '澎湃新闻',
image: pagePropsData.nodeInfo?.pic ?? utils.ExtractLogo(list_url_resp),
};
};