diff --git a/docs/new-media.md b/docs/new-media.md
index 0aa980891..707ebd59a 100644
--- a/docs/new-media.md
+++ b/docs/new-media.md
@@ -618,6 +618,10 @@ pageClass: routes
+### 天天问
+
+
+
### 用户收藏
diff --git a/lib/router.js b/lib/router.js
index a3a003734..2f21208e0 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -1133,6 +1133,7 @@ router.get('/dockerhub/build/:owner/:image/:tag?', require('./routes/dockerhub/b
// 人人都是产品经理
router.get('/woshipm/popular', require('./routes/woshipm/popular'));
+router.get('/woshipm/wen', require('./routes/woshipm/wen'));
router.get('/woshipm/bookmarks/:id', require('./routes/woshipm/bookmarks'));
router.get('/woshipm/user_article/:id', require('./routes/woshipm/user_article'));
diff --git a/lib/routes/woshipm/wen.js b/lib/routes/woshipm/wen.js
new file mode 100644
index 000000000..ad3951d11
--- /dev/null
+++ b/lib/routes/woshipm/wen.js
@@ -0,0 +1,45 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+
+module.exports = async (ctx) => {
+ const response = await got('https://wen.woshipm.com/m/main/indexNewData.html');
+ const $ = cheerio.load(response.data);
+ const postList = $('.article-list-item').get();
+ const result = await Promise.all(
+ postList.map(async (item) => {
+ const title = $(item)
+ .find('.went-head-text')
+ .text();
+ const link =
+ 'https://wen.woshipm.com/' +
+ $(item)
+ .find('.went-head')
+ .attr('href');
+ const pubDate = new Date().toUTCString();
+
+ const single = {
+ title: title,
+ link: link,
+ guid: link,
+ pubDate: pubDate,
+ description: '',
+ };
+
+ const key = link;
+ const value = await ctx.cache.get(key);
+
+ if (value) {
+ single.description = value;
+ } else {
+ const temp = await got(link);
+ const $ = cheerio.load(temp.data);
+ single.description = $('.wt-desc').html();
+
+ ctx.cache.set(key, single.description);
+ }
+
+ return Promise.resolve(single);
+ })
+ );
+ ctx.state.data = { title: '天天问 - 人人都是产品经理', link: 'http://wen.woshipm.com/', item: result };
+};