feat: add kaggle user discussion (#5192)

This commit is contained in:
Ethan Shen
2020-07-28 23:26:40 +08:00
committed by GitHub
parent 61917a9b75
commit 197ba6c672
3 changed files with 24 additions and 0 deletions

View File

@@ -222,6 +222,10 @@ GitHub 官方也提供了一些 RSS:
</Route>
### User Discussion
<Route author="nczitzk" example="/kaggle/user/antgoldbloom" path="/kaggle/user/:user" :paramsDesc="['用户名']"/>
## LeetCode
### 文章

View File

@@ -2131,6 +2131,7 @@ router.get('/hatena/anonymous_diary/archive', require('./routes/hatena/anonymous
// kaggle
router.get('/kaggle/discussion/:forumId/:sort?', require('./routes/kaggle/discussion'));
router.get('/kaggle/competitions/:category?', require('./routes/kaggle/competitions'));
router.get('/kaggle/user/:user', require('./routes/kaggle/user'));
// PubMed Trending
router.get('/pubmed/trending', require('./routes/pubmed/trending'));

19
lib/routes/kaggle/user.js Normal file
View File

@@ -0,0 +1,19 @@
const got = require('@/utils/got');
module.exports = async (ctx) => {
const response = await got({
method: 'get',
url: `https://www.kaggle.com/${ctx.params.user}/discussion_messages.json?sortBy=latestPost&group=commentsAndTopics&page=1&pageSize=20&sortby=latestPost&pagesize=20`,
});
ctx.state.data = {
title: `${ctx.params.user}'s discussion - Kaggle`,
link: `https://www.kaggle.com/${ctx.params.user}/discussion?sortBy=mostVotes&group=commentsAndTopics&page=1&pageSize=20`,
item: response.data.discussions.map((item) => ({
title: item.forum.name,
link: `https://www.kaggle.com${item.forum.url}`,
description: item.message,
pubDate: new Date(item.postDate).toUTCString(),
})),
};
};