mirror of
https://github.com/DIYgod/RSSHub.git
synced 2026-09-24 23:12:34 +08:00
@@ -1461,6 +1461,20 @@ column 为 third 时可选的 category:
|
||||
|
||||
</Route>
|
||||
|
||||
### 专栏
|
||||
|
||||
<Route author="Solist-X" example="/netease/news/special/1" path="/netease/news/special/:type?" :paramsDesc="['栏目']">
|
||||
|
||||
| 轻松一刻 | 槽值 | 人间 | 大国小民 | 三三有梗 | 数读 | 看客 | 下划线 | 谈心社 | 哒哒 | 胖编怪聊 | 曲一刀 | 今日之声 | 浪潮 | 沸点 |
|
||||
| -------- | ---- | ---- | -------- | -------- | ---- | ---- | ------ | ------ | ---- | -------- | ------ | -------- | ---- | ---- |
|
||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|
||||
|
||||
</Route>
|
||||
|
||||
### 数读
|
||||
|
||||
<Route author="laampui" example="/netease/news/data" path="/netease/news/data"/>
|
||||
|
||||
## 维基百科
|
||||
|
||||
### 中国大陆新闻动态
|
||||
|
||||
@@ -648,18 +648,6 @@ category 对应的关键词有
|
||||
|
||||
</Route>
|
||||
|
||||
## 网易新闻专栏
|
||||
|
||||
### 栏目
|
||||
|
||||
<Route author="Solist-X" example="/netease/news/special/1" path="/netease/news/special/:type?" :paramsDesc="['栏目']">
|
||||
|
||||
| 轻松一刻 | 槽值 | 人间 | 大国小民 | 三三有梗 | 数读 | 看客 | 下划线 | 谈心社 | 哒哒 | 胖编怪聊 | 曲一刀 | 今日之声 | 浪潮 | 沸点 |
|
||||
| -------- | ---- | ---- | -------- | -------- | ---- | ---- | ------ | ------ | ---- | -------- | ------ | -------- | ---- | ---- |
|
||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|
||||
|
||||
</Route>
|
||||
|
||||
## 卫报 The Guardian
|
||||
|
||||
通过提取文章全文,以提供比官方源更佳的阅读体验。
|
||||
|
||||
+12
-13
@@ -2185,9 +2185,6 @@ router.get('/cug/xgxy', require('./routes/universities/cug/xgxy'));
|
||||
router.get('/cug/news', require('./routes/universities/cug/news'));
|
||||
router.get('/cug/gcxy/:type?', require('./routes/universities/cug/gcxy/index'));
|
||||
|
||||
// 网易 - 网易号
|
||||
router.get('/netease/dy/:id', require('./routes/netease/dy'));
|
||||
|
||||
// 海猫吧
|
||||
router.get('/haimaoba/:id?', require('./routes/haimaoba/comics'));
|
||||
|
||||
@@ -2536,9 +2533,6 @@ router.get('/mqube/top', require('./routes/mqube/top'));
|
||||
router.get('/letterboxd/user/diary/:username', require('./routes/letterboxd/userdiary'));
|
||||
router.get('/letterboxd/user/followingdiary/:username', require('./routes/letterboxd/followingdiary'));
|
||||
|
||||
// 网易大神
|
||||
router.get('/netease/ds/:id', require('./routes/netease/ds'));
|
||||
|
||||
// javlibrary
|
||||
router.get('/javlibrary/users/:uid/:utype', require('./routes/javlibrary/users'));
|
||||
router.get('/javlibrary/videos/:vtype', require('./routes/javlibrary/videos'));
|
||||
@@ -2557,10 +2551,6 @@ router.get('/piapro/public/:type/:tag?/:category?', require('./routes/piapro/pub
|
||||
// 凤凰网
|
||||
router.get('/ifeng/feng/:id/:type', require('./routes/ifeng/feng'));
|
||||
|
||||
// 网易公开课
|
||||
router.get('/open163/vip', require('./routes/netease/open/vip'));
|
||||
router.get('/open163/latest', require('./routes/netease/open/latest'));
|
||||
|
||||
// 第一版主
|
||||
router.get('/novel/d1bz/:category/:id', require('./routes/d1bz/novel'));
|
||||
|
||||
@@ -2918,9 +2908,6 @@ router.get('/jijitang/publication', require('./routes/jijitang/publication'));
|
||||
// 新闻联播
|
||||
router.get('/xwlb', require('./routes/xwlb/index'));
|
||||
|
||||
// 网易新闻专栏
|
||||
router.get('/netease/news/special/:type?', require('./routes/netease/news/special'));
|
||||
|
||||
// 端传媒
|
||||
router.get('/initium/:type?/:language?', require('./routes/initium/full'));
|
||||
router.get('/theinitium/:model/:type?/:language?', require('./routes/initium/full'));
|
||||
@@ -3037,6 +3024,18 @@ router.get('/jike/user/:id', require('./routes/jike/user'));
|
||||
|
||||
// 网易新闻
|
||||
router.get('/netease/news/rank/:category?/:type?/:time?', require('./routes/netease/news/rank'));
|
||||
router.get('/netease/news/special/:type?', require('./routes/netease/news/special'));
|
||||
router.get('/netease/news/data', require('./routes/netease/news/data'));
|
||||
|
||||
// 网易 - 网易号
|
||||
router.get('/netease/dy/:id', require('./routes/netease/dy'));
|
||||
|
||||
// 网易大神
|
||||
router.get('/netease/ds/:id', require('./routes/netease/ds'));
|
||||
|
||||
// 网易公开课
|
||||
router.get('/open163/vip', require('./routes/netease/open/vip'));
|
||||
router.get('/open163/latest', require('./routes/netease/open/latest'));
|
||||
|
||||
// Boston.com
|
||||
router.get('/boston/:tag?', require('./routes/boston/index'));
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const iconv = require('iconv-lite');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const response = await got({
|
||||
url: 'https://data.163.com',
|
||||
method: 'get',
|
||||
responseType: 'buffer',
|
||||
});
|
||||
const $ = cheerio.load(iconv.decode(response.data, 'gbk'));
|
||||
const dataStr = $('*')
|
||||
.html()
|
||||
.match(/var\sohnofuchlist=\[(.|\n)*"a"\];$/gm)[0];
|
||||
const arr = new Function(dataStr + 'ohnofuchlist.pop();return ohnofuchlist;')();
|
||||
|
||||
const item = await Promise.all(
|
||||
arr.slice(0, 20).map(async (item) => {
|
||||
const single = await ctx.cache.tryGet(item.url, async () => {
|
||||
const res = await got.get(item.url);
|
||||
const doc = cheerio.load(res.data);
|
||||
const description = doc('#main-content').html() || doc('.post_body').html();
|
||||
return {
|
||||
title: item.title,
|
||||
link: item.url,
|
||||
pubDate: new Date(item.time),
|
||||
description,
|
||||
};
|
||||
});
|
||||
return Promise.resolve(single);
|
||||
})
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
title: '数读 - 网易新闻',
|
||||
link: 'https://data.163.com/',
|
||||
item,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user