Files
RSSHub/lib/v2/csdn/blog.js
Jerry K Jia 5f9018c3df feat(routes): CSDN 博客 (#10447)
* feat(routes): CSDN Blog

* fix(docs): add CSDN Blog paramsDesc
2022-08-17 11:30:22 +11:00

40 lines
1010 B
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
const rssParser = require('@/utils/rss-parser');
module.exports = async (ctx) => {
const user = ctx.params.user;
const rootUrl = 'https://blog.csdn.net';
const blogUrl = `${rootUrl}/${user}`;
const rssUrl = blogUrl + '/rss/list';
const feed = await rssParser.parseURL(rssUrl);
const items = await Promise.all(
feed.items.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const response = await got({
method: 'get',
url: item.link,
});
const $ = cheerio.load(response.data);
const description = $('#content_views').html();
return {
...item,
description,
};
})
)
);
ctx.state.data = {
...feed,
title: `${feed.title} - CSDN博客`,
item: items,
};
};