feat:增加ITSlide订阅源 (#3477)

This commit is contained in:
yangshuqing
2019-11-25 11:46:23 +08:00
committed by DIYgod
parent cf5d8805f7
commit 4b843f03ef
4 changed files with 75 additions and 0 deletions

View File

@@ -790,6 +790,18 @@
],
},
'itslide.com': {
_name: 'ITSlide',
www: [
{
title: '最新',
docs: 'https://docs.rsshub.app/programming.html#itslide',
source: '/*',
target: '/itslide/new',
},
],
},
'leboncoin.fr': {
_name: 'leboncoin',
www: [

View File

@@ -154,6 +154,12 @@ GitHub 官方也提供了一些 RSS:
</Route>
## ITSlide
### 最新
<Route author="Yangshuqing" example="/itslide/new" path="/itslide/new" radar="1"/>
## kaggle
### Discussion

View File

@@ -1989,6 +1989,9 @@ router.get('/fanfou/favorites/:uid', require('./routes/fanfou/favorites'));
router.get('/fanfou/trends', require('./routes/fanfou/trends'));
router.get('/fanfou/public_timeline/:keyword', require('./routes/fanfou/public_timeline'));
// ITSlide
router.get('/itslide/new', require('./routes/itslide/new'));
// Remote Work
router.get('/remote-work/:caty?', require('./routes/remote-work/index'));

54
lib/routes/itslide/new.js Normal file
View File

@@ -0,0 +1,54 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const baseUrl = 'https://www.itslide.com';
module.exports = async (ctx) => {
const response = await got({
method: 'get',
url: baseUrl + '/new',
referer: baseUrl,
});
const data = response.data;
const $ = cheerio.load(data);
const posts = $('.mod-post');
ctx.state.data = {
link: baseUrl,
title: 'ITSlide - 专注于PPT幻灯片的分享平台',
item: posts
.map((_, item) => {
const title = $(item)
.find('a')
.attr('title');
const link =
baseUrl +
$(item)
.find('a')
.attr('href')
.slice(1);
const upTime = $(item)
.find('.mod-post-tip .pr')
.text();
const views = $(item)
.find('.mod-post-tip .pl')
.text();
const imgSrc = $(item)
.find('img')
.attr('src');
return {
link: link,
title: title,
description: `描述: ${title}<br>
时间:${upTime}<br>
浏览:${views}<br>
预览:<img src = ${imgSrc}'>`,
pubDate: $(item)
.find('.mod-post-tip .pr')
.text(),
};
})
.get(),
};
};