feat: remove notOperational routes - study

This commit is contained in:
DIYgod 2023-12-21 23:19:40 +08:00
parent 78001402b5
commit 053f0480e4
No known key found for this signature in database
18 changed files with 1 additions and 679 deletions

View File

@ -676,10 +676,6 @@ router.get('/mit/csail/news', lazyloadRouteHandler('./routes/universities/mit/cs
// 毕马威
router.get('/kpmg/insights', lazyloadRouteHandler('./routes/kpmg/insights'));
// gradcafe
router.get('/gradcafe/result/:type', lazyloadRouteHandler('./routes/gradcafe/result'));
router.get('/gradcafe/result', lazyloadRouteHandler('./routes/gradcafe/result'));
// 朝日新闻
router.get('/asahi/:genre?/:category?', lazyloadRouteHandler('./routes/asahi/index'));
@ -1084,9 +1080,6 @@ router.get('/nosec/:keykind?', lazyloadRouteHandler('./routes/nosec/index'));
router.get('/xinquji/today', lazyloadRouteHandler('./routes/xinquji/today'));
router.get('/xinquji/today/internal', lazyloadRouteHandler('./routes/xinquji/internal'));
// 英中协会
router.get('/gbcc/trust', lazyloadRouteHandler('./routes/gbcc/trust'));
// discuz
// router.get('/discuz/:ver([7|x])/:cid([0-9]{2})/:link(.*)', lazyloadRouteHandler('./routes/discuz/discuz'));
// router.get('/discuz/:ver([7|x])/:link(.*)', lazyloadRouteHandler('./routes/discuz/discuz'));
@ -1219,9 +1212,6 @@ router.get('/etoland/:bo_table', lazyloadRouteHandler('./routes/etoland/board'))
// 辽宁工程技术大学教务在线公告
router.get('/lntu/jwnews', lazyloadRouteHandler('./routes/universities/lntu/jwnews'));
// 51voa
router.get('/51voa/:channel', lazyloadRouteHandler('./routes/51voa/channel'));
// 追新番
router.get('/fanxinzhui', lazyloadRouteHandler('./routes/fanxinzhui/latest'));
router.get('/zhuixinfan/list', lazyloadRouteHandler('./routes/fanxinzhui/latest'));
@ -1262,9 +1252,6 @@ router.get('/slu/csggxy/:id', lazyloadRouteHandler('./routes/universities/slu/cs
router.get('/ruby-china/topics/:type?', lazyloadRouteHandler('./routes/ruby-china/topics'));
router.get('/ruby-china/jobs', lazyloadRouteHandler('./routes/ruby-china/jobs'));
// 中国人事考试网
router.get('/cpta/notice', lazyloadRouteHandler('./routes/cpta/notice'));
// 广告网
router.get('/adquan/:type?', lazyloadRouteHandler('./routes/adquan/index'));
@ -1298,10 +1285,6 @@ router.get('/199it', lazyloadRouteHandler('./routes/199it/index'));
router.get('/199it/category/:caty', lazyloadRouteHandler('./routes/199it/category'));
router.get('/199it/tag/:tag', lazyloadRouteHandler('./routes/199it/tag'));
// 唧唧堂
router.get('/jijitang/article/:id', lazyloadRouteHandler('./routes/jijitang/article'));
router.get('/jijitang/publication', lazyloadRouteHandler('./routes/jijitang/publication'));
// Grub Street
// router.get('/grubstreet', lazyloadRouteHandler('./routes/grubstreet/index'));
@ -1642,26 +1625,15 @@ router.get('/lifetimes/:category?', lazyloadRouteHandler('./routes/lifetimes/ind
// Zhimap 知识导图社区
router.get('/zhimap/:categoryUuid?/:recommend?', lazyloadRouteHandler('./routes/zhimap/index'));
// ProcessOn
router.get('/processon/popular/:cate?/:sort?', lazyloadRouteHandler('./routes/processon/popular'));
// Mathpix
router.get('/mathpix/blog', lazyloadRouteHandler('./routes/mathpix/blog'));
// OneNote Gem Add-Ins
router.get('/onenotegem/release', lazyloadRouteHandler('./routes/onenotegem/release'));
// Mind42
router.get('/mind42/tag/:id', lazyloadRouteHandler('./routes/mind42/tag'));
router.get('/mind42/search/:keyword', lazyloadRouteHandler('./routes/mind42/search'));
router.get('/mind42/:caty?', lazyloadRouteHandler('./routes/mind42/index'));
// 幕布网
router.get('/mubu/explore/:category?/:title?', lazyloadRouteHandler('./routes/mubu/explore'));
// 国家普通话测试 杭州市
router.get('/putonghua', lazyloadRouteHandler('./routes/putonghua/hangzhou'));
// 有道云笔记
router.get('/youdao/xueba', lazyloadRouteHandler('./routes/youdao/xueba'));
router.get('/youdao/latest', lazyloadRouteHandler('./routes/youdao/latest'));

View File

@ -1,158 +0,0 @@
const got = require('@/utils/got');
const date = require('@/utils/date');
const cheerio = require('cheerio');
const HOST = 'https://www.51voa.com';
const PAGE_ROUTER = {
standard: {
url: 'https://www.51voa.com/VOA_Standard_1.html',
title: '常速英语',
},
archive: {
url: 'https://www.51voa.com/VOA_Standard_1_archiver.html',
title: '常速英语存档',
},
technology: {
url: 'https://www.51voa.com/Technology_Report_1.html',
title: '科技报道',
},
daily: {
url: 'https://www.51voa.com/This_is_America_1.html',
title: '今日美国',
},
sciences: {
url: 'https://www.51voa.com/Science_in_the_News_1.html',
title: '科学报道',
},
health: {
url: 'https://www.51voa.com/Health_Report_1.html',
title: '健康报道',
},
education: {
url: 'https://www.51voa.com/Education_Report_1.html',
title: '教育报道',
},
economics: {
url: 'https://www.51voa.com/Economics_Report_1.html',
title: '经济报道',
},
culture: {
url: 'https://www.51voa.com/American_Mosaic_1.html',
title: '文化艺术',
},
events: {
url: 'https://www.51voa.com/In_the_News_1.html',
title: '时事新闻',
},
stories: {
url: 'https://www.51voa.com/American_Stories_1.html',
title: '美国故事',
},
words: {
url: 'https://www.51voa.com/Words_And_Their_Stories_1.html',
title: '词汇掌故',
},
trending: {
url: 'https://www.51voa.com/Trending_Today_1.html',
title: '今日热点',
},
magazine: {
url: 'https://www.51voa.com/as_it_is_1.html',
title: '新闻杂志',
},
grammar: {
url: 'https://www.51voa.com/Everyday_Grammar_1.html',
title: '日常语法',
},
queries: {
url: 'https://www.51voa.com/ask_a_teacher_1.html',
title: '名师答疑',
},
history: {
url: 'https://www.51voa.com/The_Making_of_a_Nation_1.html',
title: '美国历史',
},
park: {
url: 'https://www.51voa.com/National_Parks_1.html',
title: '国家公园',
},
president: {
url: 'https://www.51voa.com/Americas_Presidents_1.html',
title: '美国总统',
},
agriculture: {
url: 'https://www.51voa.com/Agriculture_Report_1.html',
title: '农业报道',
},
exploration: {
url: 'https://www.51voa.com/Explorations_1.html',
title: '自然探索',
},
people: {
url: 'https://www.51voa.com/People_in_America_1.html',
title: '美国人物',
},
bilingual: {
url: 'https://www.51voa.com/Bilingual_News_1.html',
title: '双语新闻',
},
address: {
url: 'https://www.51voa.com/President_Address_1.html',
title: '总统演讲',
},
};
module.exports = async (ctx) => {
const { channel } = ctx.params;
const { url, title } = PAGE_ROUTER[channel] || {};
const response = await got({
method: 'get',
url,
});
const $ = cheerio.load(response.data);
const list = $('div.List ul li>a')
.slice(0, 5)
.map((i, e) => $(e).attr('href'))
.get();
const out = await Promise.all(
list.map(async (link) => {
const pageUrl = HOST + link;
const cache = await ctx.cache.get(link);
if (cache) {
return Promise.resolve(JSON.parse(cache));
}
const response = await got({
method: 'get',
url: pageUrl,
headers: {
Referer: url,
},
});
const $ = cheerio.load(response.data);
const single = {
pubDate: date($('div.Content>span.datetime').text()),
link: $('div.title h1').text(),
title: $('div.title>h1').html(),
description: $('div.Content').html(),
category: ['study', 'English'],
};
ctx.cache.set(link, JSON.stringify(single));
return Promise.resolve(single);
})
);
ctx.state.data = {
title,
link: url,
description: '51voa - ' + channel,
item: out,
};
};

View File

@ -1,41 +0,0 @@
const url = require('url');
const got = require('@/utils/got');
const cheerio = require('cheerio');
const iconv = require('iconv-lite');
module.exports = async (ctx) => {
const link = `http://www.cpta.com.cn/GB/360339/index.html`;
const response = await got({ method: 'get', url: link, responseType: 'buffer' });
const $ = cheerio.load(iconv.decode(response.data, 'gbk'));
const list = $('ul.list_14 li')
.map((_, item) => {
item = $(item).find('a');
return {
title: item.text(),
link: url.resolve(`http://www.cpta.com.cn/`, item.attr('href')),
};
})
.get();
ctx.state.data = {
title: '中国人事考试网 - 通知公告',
link,
item: await Promise.all(
list.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got({ method: 'get', url: item.link, responseType: 'buffer' });
const content = cheerio.load(iconv.decode(detailResponse.data, 'gbk'));
item.description = content('div.text').html();
item.pubDate = new Date(
content('#p_publishtime')
.text()
.replace(/[年|月]/g, '-')
.replace(/日/g, ' ') + ' GMT+8'
).toUTCString();
return item;
})
)
),
};
};

View File

@ -1,28 +0,0 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const link = 'http://www.gbcc.org.uk/educational-grants';
const response = (await got.get(link)).data;
const $ = cheerio.load(response);
const items = $('.entry-anchorLinkId')
.map((i, e) => {
const text = $(e).next('.entry-text');
return {
title: $(text).find('h1').html(),
link: `${link}#${$(e).children('div')[0].attribs.id}`,
description: $(text).html(),
pubDate: new Date().toUTCString(),
};
})
.get();
ctx.state.data = {
title: '英中协会 - 奖学金',
description: '英中协会是由英国外交和联邦事务部于 1974 年创立的非政府部门公共机构。',
link,
item: items,
};
};

View File

@ -1,37 +0,0 @@
const cheerio = require('cheerio');
const got = require('@/utils/got');
const queryString = require('query-string');
const url = 'https://www.thegradcafe.com/survey/';
module.exports = async (ctx) => {
const type = ctx.params.type;
const res = await got.get(url, {
searchParams: queryString.stringify({
q: type,
}),
});
const $ = cheerio.load(res.data);
const list = $('table.submission-table tbody tr');
const out = list
.slice(0, 10)
.map(function () {
const title = $(this).find('.tcol1 ').text();
const author = $(this).find('.tcol2').text();
const description = $(this).find($('strong').parents('.tcol3')).text() + ' Note:' + $(this).find('.tcol6').text();
const pubDate = $(this).find('.tcol5').text();
const item = {
title,
author,
description,
pubDate,
// note
};
return item;
})
.get();
ctx.state.data = {
title: 'gradCafe',
link: url,
item: out,
};
};

View File

@ -1,19 +0,0 @@
const got = require('@/utils/got');
module.exports = async (ctx) => {
const id = ctx.params.id;
const url = `http://www.jijitang.com/article/list?sort=${id}`;
const res = await got.get(url);
const data = res.data;
ctx.state.data = {
title: `唧唧堂 ${id}`,
link: url,
item: data.map((item) => ({
title: item.title,
description: item.content,
pubDate: item.createTime,
link: `http://www.jijitang.com/article/${item._id}`,
})),
};
};

View File

@ -1,18 +0,0 @@
const got = require('@/utils/got');
module.exports = async (ctx) => {
const url = `http://www.jijitang.com/api/publication/search?start=0&limit=40`;
const res = await got.get(url);
const data = res.data;
ctx.state.data = {
title: `唧唧堂 publication`,
link: url,
item: data.result.map((item) => ({
title: item.titleCn,
description: `杂志名称:` + item.journalName + `<br/> 英文标题:` + item.title + `<br/> 摘要:` + item.summary,
pubDate: item.created,
link: item.fullArticleLink,
})),
};
};

View File

@ -1,7 +0,0 @@
const utils = require('./utils');
module.exports = async (ctx) => {
const currentUrl = ctx.params.caty || 'mindmaps';
ctx.state.data = await utils(ctx, currentUrl);
};

View File

@ -1,5 +0,0 @@
const utils = require('./utils');
module.exports = async (ctx) => {
ctx.state.data = await utils(ctx, `search?q=${ctx.params.keyword}`);
};

View File

@ -1,5 +0,0 @@
const utils = require('./utils');
module.exports = async (ctx) => {
ctx.state.data = await utils(ctx, `tag/${ctx.params.id}`);
};

View File

@ -1,47 +0,0 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx, currentUrl) => {
const rootUrl = `https://mind42.com`;
currentUrl = `${rootUrl}/${currentUrl}`;
const response = await got({
method: 'get',
url: currentUrl,
});
const $ = cheerio.load(response.data);
const list = $('.title a.title')
.slice(0, 10)
.map((_, item) => {
item = $(item);
return {
link: `${rootUrl}${item.attr('href')}`,
};
})
.get();
const items = await Promise.all(
list.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got({
method: 'get',
url: item.link,
});
const content = cheerio.load(detailResponse.data);
item.title = content('h1 a[name="info"]').text();
item.author = content('.creator').text().trim().replace('by', '');
item.description = `<img src="/api/ajax/mindmapThumbnail?mindmapId=${item.link.split('/public/')[1]}&amp;size=gallery"><p>${content('.description').text()}</p>`;
return item;
})
)
);
return {
title: $('title').text().split(' - ')[0],
link: currentUrl,
item: items,
};
};

View File

@ -1,51 +0,0 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const cate = ctx.params.cate || '';
const sort = ctx.params.sort || '';
const rootUrl = 'https://www.processon.com';
const currentUrl = `${rootUrl}/popular/?cate=${cate}&sort=${sort}`;
const response = await got({
method: 'get',
url: currentUrl,
});
const $ = cheerio.load(response.data);
const list = $('a.chart-title')
.slice(0, 10)
.map((_, item) => {
item = $(item);
return {
title: item.text(),
link: `${rootUrl}${item.attr('href')}`,
description: `${item.parent().prev().html()}<p>${item.parent().find('p').text()}</p>`,
};
})
.get();
const items = await Promise.all(
list.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got({
method: 'get',
url: item.link,
});
const content = cheerio.load(detailResponse.data);
item.author = content('a.user_quickinfo').text();
item.pubDate = content('.chart-pubtime').text().split('发布于 ')[1];
return item;
})
)
);
ctx.state.data = {
title: $('title').text(),
link: currentUrl,
item: items,
};
};

View File

@ -1,45 +0,0 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const rootUrl = 'http://cltt.51hzks.cn/queryExamInfo';
const response = await got({
method: 'get',
url: rootUrl,
});
const $ = cheerio.load(response.data);
const title = [];
const items = [];
$('.pth_smrtable')
.find('th')
.each((i, e) => {
const titleStr = $(e).text().replace(/\n/g, '').replace(/\t/g, '');
title.push(titleStr);
});
$('.pth_smrtable')
.find('tr')
.slice(1)
.each((i, e) => {
let examInfo = '';
$(e)
.find('td')
.each((i, e) => {
const titleStr = $(e).text().trim().replace(/\n/g, '').replace(/\t/g, '');
examInfo += `${title[i]}: ${titleStr} `;
});
items.push({ title: '近期杭州市普通话测试信息', description: examInfo });
});
if (!(items.count > 0)) {
items.push({ title: '近期杭州市普通话测试信息', description: '近期暂无考试' });
}
ctx.state.data = {
title: `近期杭州市普通话测试网报时间及考试地点公布`,
link: rootUrl,
item: items,
};
};

View File

@ -1,3 +0,0 @@
module.exports = {
'/tzgg': ['nczitzk'],
};

View File

@ -1,13 +0,0 @@
module.exports = {
'cscse.edu.cn': {
_name: '中国留学网',
'.': [
{
title: '通知公告',
docs: 'https://docs.rsshub.app/routes/study#zhong-guo-liu-xue-wang-tong-zhi-gong-gao',
source: ['/cscse/index/tzgg', '/'],
target: '/cscse/tzgg',
},
],
},
};

View File

@ -1,3 +0,0 @@
module.exports = function (router) {
router.get('/tzgg', require('./tzgg'));
};

View File

@ -1,54 +0,0 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
const { parseDate } = require('@/utils/parse-date');
module.exports = async (ctx) => {
const rootUrl = 'https://www.cscse.edu.cn';
const currentUrl = `${rootUrl}/cscse/index/tzgg/index.html`;
const response = await got({
method: 'get',
url: currentUrl,
});
const $ = cheerio.load(response.data);
let items = $('.news_list li a')
.toArray()
.map((item) => {
item = $(item);
const link = item.attr('href');
return {
title: item.text(),
link: `${/^http/.test(link) ? '' : rootUrl}${item.attr('href')}`,
pubDate: parseDate(item.next().text()),
};
});
items = await Promise.all(
items.map((item) =>
ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got({
method: 'get',
url: item.link,
});
const content = cheerio.load(detailResponse.data);
item.description = content('.zoom').html();
item.author = content('meta[name="Author"]').attr('content');
item.category = content('meta[name="Keywords"]').attr('content')?.split(',');
return item;
})
)
);
ctx.state.data = {
title: '中国留学网 - 通知公告',
link: currentUrl,
item: items,
};
};

View File

@ -1,38 +1,5 @@
# 📖 Study
## 51VOA 美国之音 {#51voa-mei-guo-zhi-yin}
### 频道 {#51voa-mei-guo-zhi-yin-pin-dao}
<Route author="guhuaijin" example="/51voa/address" path="/51voa/:channel" paramsDesc={['频道名称']} notOperational="1" />
| `:channel` | 对应网站栏目 |
| ----------- | -------------------------------------------- |
| standard | 常速英语 (VOA Standard English) |
| archive | 常速英语存档 (VOA Standard English Archives) |
| technology | 科技报道 (Technology Report) |
| daily | 今日美国 (This is America) |
| sciences | 科技报道 (Science in the News) |
| health | 健康报道 (Health Report) |
| education | 教育报道 (Education Report) |
| economics | 经济报道 (Economics Report) |
| culture | 文化艺术 (American Mosaic) |
| events | 时事新闻 (In the News) |
| stories | 美国故事 (American Stories) |
| words | 词汇掌故 (Words And Their Stories) |
| trending | 今日热点 (Trending Today) |
| magazine | 新闻杂志 (AS IT IS) |
| grammar | 日常语法 (Everyday Grammar) |
| queries | 名师答疑 (Ask a Teacher) |
| history | 美国历史 (U.S. History) |
| park | 国家公园 (America's National Parks) |
| president | 美国总统 (America's Presidents) |
| agriculture | 农业报道 (Agriculture Report) |
| exploration | 自然探索 (Explorations) |
| people | 美国人物 (People in America) |
| bilingual | 双语新闻 (Bilingual News) |
| address | 总统演讲 (President Address) |
## Asian Innovation and Entrepreneurship Association {#asian-innovation-and-entrepreneurship-association}
### Seminar Series {#asian-innovation-and-entrepreneurship-association-seminar-series}
@ -83,22 +50,6 @@
<Route author="ytno1" example="/dblp/knowledge%20tracing" path="/dblp/:field" paramsDesc={['Research field']} radar="1" />
## gradCafe {#gradcafe}
### gradCafe result {#gradcafe-gradcafe-result}
<Route author="liecn" example="/gradcafe/result" path="/gradcafe/result" notOperational="1" />
### gradCafe result by key words {#gradcafe-gradcafe-result-by-key-words}
<Route author="liecn" example="/gradcafe/result/computer" path="/gradcafe/result/:type" paramsDesc={['Keyword']} notOperational="1" />
## Great Britain China Centre {#great-britain-china-centre}
### Educational Trust {#great-britain-china-centre-educational-trust}
<Route author="HenryQW" example="/gbcc/trust" path="/gbcc/trust" notOperational="1" />
## iciba {#iciba}
### Daily English Sentence {#iciba-daily-english-sentence}
@ -116,7 +67,7 @@
### 最新消息 {#ielts-ya-si-zui-xin-xiao-xi}
<Route author="zenxds" example="/ielts" path="/ielts" puppeteer="1" notOperational="1" />
<Route author="zenxds" example="/ielts" path="/ielts" puppeteer="1" />
## Link Research {#link-research}
@ -140,27 +91,6 @@
| -------- | -------- | ---------- | -------- | -------- | -------- | -------- | ----------------- | ---------------- | ------------------ | ---------- | -------- | ------------ | ------ | ---- |
</Route>
## Mind42 {#mind42}
### 分类 {#mind42-fen-lei}
<Route author="nczitzk" example="/mind42" path="/mind42/:caty?" paramsDesc={['分类,见下表,默认为 Overview']} notOperational="1">
| Overview | Popular | All |
| -------- | ------- | ------ |
| mindmaps | popular | public |
</Route>
### 标签 {#mind42-biao-qian}
<Route author="nczitzk" example="/mind42/tag/online" path="/mind42/tag/:id" paramsDesc={['标签,见下表']} notOperational="1">
| in | online | cleaning | buy | best | services | for | carpet | service | india | company | and | de | mapa | control | malware | online-dating-website-reviews | virus | international-online-dating-sites-review | repair |
| -- | ------ | -------- | --- | ---- | -------- | --- | ------ | ------- | ----- | ------- | --- | -- | ---- | ------- | ------- | ----------------------------- | ----- | ---------------------------------------- | ------ |
</Route>
### 搜索 {#mind42-sou-suo}
<Route author="nczitzk" example="/mind42/search/online" path="/mind42/search/:keyword" paramsDesc={['关键字']} notOperational="1" />
## MindMeister {#mindmeister}
### Public Maps {#mindmeister-public-maps}
@ -236,24 +166,6 @@
<Route author="OrangeEd1t" example="/orcid/0000-0002-4731-9700" path="/orcid/:id" paramsDesc={['Open Researcher and Contributor ID']} />
## ProcessOn {#processon}
### 推荐 {#processon-tui-jian}
<Route author="nczitzk" example="/processon/popular" path="/processon/popular/:cate?/:sort?" paramsDesc={['分类,见下表,默认为所有类型', '排序,见下表,默认为人气']} notOperational="1">
分类
| 所有类型 | 流程图 | BPMN | 思维导图 | UI 原型图 | UML | Org 组织结构图 | 网络拓扑图 | 韦恩图 | |
| -------- | ------ | ---- | -------- | ---------- | --- | -------------- | ---------- | ------- | ---- |
| | es | flow | bpmn | mind\_free | ui | uml | org | network | venn |
排序
| 人气 | 最多人赞 | 最多收藏 | 最多浏览 | 最新发布 |
| ---- | --------- | -------------- | --------- | ----------- |
| | likeCount | favouriteCount | viewCount | publishTime |
</Route>
## ResearchGate {#researchgate}
### Publications {#researchgate-publications}
@ -373,28 +285,12 @@
| 0 | 1 | 2 | 3 | 4 | 5 | news | policy |
</Route>
## 杭州市国家普通话测试网报信息 {#hang-zhou-shi-guo-jia-pu-tong-hua-ce-shi-wang-bao-xin-xi}
### 考试信息 {#hang-zhou-shi-guo-jia-pu-tong-hua-ce-shi-wang-bao-xin-xi-kao-shi-xin-xi}
<Route author="ChaosTong" example="/putonghua" path="/putonghua" notOperational="1" />
## 湖南人事考试网 {#hu-nan-ren-shi-kao-shi-wang}
### 公告 {#hu-nan-ren-shi-kao-shi-wang-gong-gao}
<Route author="TonyRL" example="/hunanpea/rsks/2f1a6239-b4dc-491b-92af-7d95e0f0543e" path="/hunanpea/rsks/:guid" paramsDesc={['分类 id可在 URL 中找到']} radar="1" />
## 唧唧堂 {#ji-ji-tang}
### 论文 {#ji-ji-tang-lun-wen}
<Route author="xfangbao" example="/jijitang/publication" path="/jijitang/publication/" />
### 文档 {#ji-ji-tang-wen-dang}
<Route author="xfangbao" example="/jijitang/article/latest" path="/jijitang/article/:id" paramsDesc={['类别latest 或者 recommand']} />
## 经济 50 人论坛 {#jing-ji-50-ren-lun-tan}
### 专家文章 {#jing-ji-50-ren-lun-tan-zhuan-jia-wen-zhang}
@ -663,24 +559,12 @@
| 16 | 18 | 19 | 20 | 21 |
</Route>
## 中国留学网 {#zhong-guo-liu-xue-wang}
### 通知公告 {#zhong-guo-liu-xue-wang-tong-zhi-gong-gao}
<Route author="nczitzk" example="/cscse/tzgg" path="/cscse/tzgg" notOperational="1" />
## 中国人工智能学会 {#zhong-guo-ren-gong-zhi-neng-xue-hui}
### 学会动态 {#zhong-guo-ren-gong-zhi-neng-xue-hui-xue-hui-dong-tai}
<Route author="tudou027" example="/caai/45" path="/caai/:caty" paramsDesc={['分类 ID可在 URL 找到']} radar="1" />
## 中国人事考试网 {#zhong-guo-ren-shi-kao-shi-wang}
### 通知公告 {#zhong-guo-ren-shi-kao-shi-wang-tong-zhi-gong-gao}
<Route author="nczitzk" example="/cpta/notice" path="/cpta/notice" notOperational="1" />
## 中国研究生招生信息网 {#zhong-guo-yan-jiu-sheng-zhao-sheng-xin-xi-wang}
### 考研热点新闻 {#zhong-guo-yan-jiu-sheng-zhao-sheng-xin-xi-wang-kao-yan-re-dian-xin-wen}