Add sspai/series (#645)

Close #570
This commit is contained in:
Henry Wang 2018-09-05 09:32:43 +01:00 committed by DIYgod
parent 055819959b
commit 8436afb3a3
3 changed files with 52 additions and 0 deletions

View File

@ -2708,3 +2708,11 @@ ISO 3166-1 国家代码列表请参见 [维基百科 ISO_3166-1](https://zh.wiki
#### App Store/Mac App Store
见 [#app-store-mac-app-store](#app-store-mac-app-store)
### 少数派 sspai <Author uid="HenryQW"/>
#### 最新上架付费专栏
举例: <https://rsshub.app/sspai/series>
路由: `/sspai/series`

View File

@ -527,4 +527,7 @@ router.get('/curseforge/files/:project', require('./routes/curseforge/files'));
// 抖音
router.get('/douyin/user/:id', require('./routes/douyin/user'));
// 少数派 sspai
router.get('/sspai/series', require('./routes/sspai/series'));
module.exports = router;

41
routes/sspai/series.js Normal file
View File

@ -0,0 +1,41 @@
const cheerio = require('cheerio');
const url = require('url');
module.exports = async (ctx) => {
const getPage = await require('../../utils/puppeteer');
const page = await getPage();
const link = 'https://sspai.com/series';
await page.goto(link);
// eslint-disable-next-line no-undef
const html = await page.evaluate(() => document.querySelector('div.new-series-wrapper').innerHTML);
const $ = cheerio.load(html);
const list = $('div.item');
ctx.state.data = {
title: '少数派 -- 最新上架付费专栏',
link,
description: '少数派 -- 最新上架付费专栏',
item: list
.map((i, item) => ({
title: $(item)
.find('.item-title a')
.text()
.trim(),
link: url.resolve(
link,
$(item)
.find('.item-title a')
.attr('href')
),
author: $(item)
.find('.item-author')
.text()
.trim(),
}))
.get(),
};
};