diff --git a/docs/social-media.md b/docs/social-media.md
index a9b2e85fb..914cf8e39 100644
--- a/docs/social-media.md
+++ b/docs/social-media.md
@@ -642,6 +642,10 @@ pageClass: routes
+### 知乎日报 - 合集
+
+
+
### 知乎热榜
diff --git a/lib/router.js b/lib/router.js
index 00bcc4315..3c55a7bf8 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -96,6 +96,7 @@ router.get('/zhihu/people/answers/:id', require('./routes/zhihu/answers'));
router.get('/zhihu/people/posts/:id', require('./routes/zhihu/posts'));
router.get('/zhihu/zhuanlan/:id', require('./routes/zhihu/zhuanlan'));
router.get('/zhihu/daily', require('./routes/zhihu/daily'));
+router.get('/zhihu/daily/section/:sectionId', require('./routes/zhihu/daily_section'));
router.get('/zhihu/hotlist', require('./routes/zhihu/hotlist'));
router.get('/zhihu/pin/hotlist', require('./routes/zhihu/pin/hotlist'));
router.get('/zhihu/question/:questionId', require('./routes/zhihu/question'));
diff --git a/lib/routes/zhihu/daily_section.js b/lib/routes/zhihu/daily_section.js
new file mode 100644
index 000000000..b4dff44ad
--- /dev/null
+++ b/lib/routes/zhihu/daily_section.js
@@ -0,0 +1,54 @@
+const got = require('@/utils/got');
+const utils = require('./utils');
+
+// 参考:https://github.com/izzyleung/ZhihuDailyPurify/wiki/%E7%9F%A5%E4%B9%8E%E6%97%A5%E6%8A%A5-API-%E5%88%86%E6%9E%90
+// 文章给出了v7版 api的信息,包含全文api
+
+module.exports = async (ctx) => {
+ const { sectionId } = ctx.params;
+ const listRes = await got({
+ method: 'get',
+ url: `https://news-at.zhihu.com/api/7/section/${sectionId}`,
+ headers: {
+ ...utils.header,
+ Referer: `https://news-at.zhihu.com/api/7/section/${sectionId}`,
+ },
+ });
+ // 根据api的说明,过滤掉极个别站外链接
+ const storyList = listRes.data.stories.filter((el) => el.url.includes('daily.zhihu.com'));
+ const resultItem = await Promise.all(
+ storyList.map(async (story) => {
+ const url = 'https://news-at.zhihu.com/api/7/news/' + story.id;
+ const item = {
+ title: story.title,
+ description: '',
+ link: 'https://news-at.zhihu.com/story/' + story.id,
+ };
+ const key = 'daily' + story.id;
+ const value = await ctx.cache.get(key);
+
+ if (value) {
+ item.description = value;
+ } else {
+ const storyDetail = await got({
+ method: 'get',
+ url: url,
+ headers: {
+ Referer: url,
+ },
+ });
+ item.description = utils.ProcessImage(storyDetail.data.body.replace(/
([\s\S]*?)<\/div>/g, '$1').replace(/<\/?h2.*?>/g, ''));
+ ctx.cache.set(key, item.description);
+ }
+
+ return Promise.resolve(item);
+ })
+ );
+
+ ctx.state.data = {
+ title: `${listRes.data.name} - 知乎日报`,
+ link: 'https://daily.zhihu.com',
+ description: '每天3次,每次7分钟',
+ item: resultItem,
+ };
+};