diff --git a/docs/bbs.md b/docs/bbs.md
index a9a0e3cad..3615e1e44 100644
--- a/docs/bbs.md
+++ b/docs/bbs.md
@@ -475,6 +475,116 @@ pageClass: routes
+## 小木虫论坛
+
+### 分类
+
+
+
+::: tip 提示
+
+尚不支持需要登录访问的版块
+
+:::
+
+网络生活区
+
+| 休闲灌水 | 虫友互识 | 文学芳草园 | 育儿交流 | 竞技体育 | 有奖起名 | 有奖问答 | 健康生活 |
+| -------- | -------- | ---------- | -------- | -------- | -------- | -------- | -------- |
+| 6 | 133 | 166 | 359 | 377 | 408 | 69 | 179 |
+
+科研生活区
+
+| 硕博家园 | 教师之家 | 博后之家 | English Cafe | 职场人生 | 专业外语 | 外语学习 | 导师招生 | 找工作 | 招聘信息布告栏 | 考研 | 考博 | 公务员考试 |
+| -------- | -------- | -------- | ------------ | -------- | -------- | -------- | -------- | ------ | -------------- | ---- | ---- | ---------- |
+| 198 | 199 | 342 | 328 | 405 | 432 | 126 | 430 | 185 | 346 | 127 | 197 | 280 |
+
+学术交流区
+
+| 论文投稿 | SCI 期刊点评 | 中文期刊点评 | 论文道贺祈福 | 论文翻译 | 基金申请 | 学术会议 | 会议与征稿布告栏 |
+| -------- | ------------ | ------------ | ------------ | -------- | -------- | -------- | ---------------- |
+| 125 | 见期刊路由 | 见期刊路由 | 307 | 278 | 234 | 299 | 345 |
+
+出国留学区
+
+| 留学生活 | 公派出国 | 访问学者 | 海外博后 | 留学 DIY | 签证指南 | 出国考试 | 海外院所点评 | 海外校友录 | 海归之家 |
+| -------- | -------- | -------- | -------- | -------- | -------- | -------- | ------------ | ---------- | -------- |
+| 336 | 131 | 386 | 385 | 334 | 335 | 337 | 399 | 见院校路由 | 428 |
+
+化学化工区
+
+| 有机交流 | 有机资源 | 高分子 | 无机 / 物化 | 分析 | 催化 | 工艺技术 | 化工设备 | 石油化工 | 精细化工 | 电化学 | 环境 | SciFinder/Reaxys |
+| -------- | -------- | ------ | ----------- | ---- | ---- | -------- | -------- | -------- | -------- | ------ | ---- | ---------------- |
+| 189 | 325 | 236 | 170 | 238 | 190 | 373 | 374 | 212 | 227 | 263 | 230 | 343 |
+
+材料区
+
+| 材料综合 | 材料工程 | 微米和纳米 | 晶体 | 金属 | 无机非金属 | 生物材料 | 功能材料 | 复合材料 |
+| -------- | -------- | ---------- | ---- | ---- | ---------- | -------- | -------- | -------- |
+| 378 | 379 | 233 | 262 | 301 | 213 | 286 | 364 | 365 |
+
+计算模拟区
+
+| 第一性原理 | 量子化学 | 计算模拟 | 分子模拟 | 仿真模拟 | 程序语言 |
+| ---------- | -------- | -------- | -------- | -------- | -------- |
+| 291 | 290 | 279 | 322 | 292 | 312 |
+
+生物医药区
+
+| 新药研发 | 药学 | 药品生产 | 分子生物 | 微生物 | 动植物 | 生物科学 | 医学 |
+| -------- | ---- | -------- | -------- | ------ | ------ | -------- | ---- |
+| 192 | 148 | 429 | 366 | 367 | 368 | 144 | 142 |
+
+人文经济区
+
+| 金融投资 | 人文社科 | 管理学 | 经济学 |
+| -------- | -------- | ------ | ------ |
+| 272 | 453 | 447 | 446 |
+
+专业学科区
+
+| 数理科学综合 | 机械 | 物理 | 数学 | 农林 | 食品 | 地学 | 能源 | 信息科学 | 土木建筑 | 航空航天 | 转基因 |
+| ------------ | ---- | ---- | ---- | ---- | ---- | ---- | ---- | -------- | -------- | -------- | ------ |
+| 452 | 370 | 228 | 323 | 371 | 207 | 261 | 372 | 145 | 147 | 434 | 438 |
+
+注册执考区
+
+| 化环类执考 | 医药类考试 | 土建类考试 | 经管类考试 | 其他类执考 |
+| ---------- | ---------- | ---------- | ---------- | ---------- |
+| 414 | 417 | 418 | 415 | 419 |
+
+文献求助区
+
+| 文献求助 | 外文书籍求助 | 标准与专利 | 检索知识 | 代理 Proxy 资源 |
+| -------- | ------------ | ---------- | -------- | --------------- |
+| 158 | 219 | 226 | 130 | 203 |
+
+资源共享区
+
+| 电脑软件 | 手机资源 | 科研工具 | 科研资料 | 课件资源 | 试题资源 | 资源求助 | 电脑使用 |
+| -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
+| 55 | 410 | 188 | 300 | 112 | 380 | 401 | 347 |
+
+科研市场区
+
+| 课堂列表 | 综合广告 | 试剂耗材抗体 | 仪器设备 | 测试定制合成 | 技术服务 | 留学服务 | 教育培训 | 个人求购专版 | 个人转让专版 | QQ 群 / 公众号专版 | 手机红包 | 金币购物 |
+| -------- | -------- | ------------ | -------- | ------------ | -------- | -------- | -------- | ------------ | ------------ | ------------------ | -------- | -------- |
+| 454 | 284 | 390 | 389 | 392 | 396 | 350 | 394 | 316 | 436 | 362 | 302 | 460 |
+
+论坛事务区
+
+| 木虫讲堂 | 论坛更新日志 | 论坛公告发布 | 我来提意见 | 版主交流 | 规章制度 | 论坛使用帮助 (只读) | 我与小木虫的故事 |
+| -------- | ------------ | ------------ | ---------- | -------- | -------- | ------------------- | ---------------- |
+| 468 | 437 | 5 | 321 | 134 | 317 | 215 | 376 |
+
+版块孵化区
+
+| 版块工场 |
+| -------- |
+| myf |
+
+
+
## 一亩三分地
### 主题帖
diff --git a/lib/router.js b/lib/router.js
index 4a71ff401..300a527d2 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -3516,6 +3516,9 @@ router.get('/uisdc/news', require('./routes/uisdc/news'));
router.get('/uisdc/zt/:title?', require('./routes/uisdc/zt'));
router.get('/uisdc/topic/:title?/:sort?', require('./routes/uisdc/topic'));
+// 小木虫
+router.get('/muchong/:id/:type?/:sort?', require('./routes/muchong/index'));
+
// 求是网
router.get('/qstheory/:category?', require('./routes/qstheory/index'));
diff --git a/lib/routes/muchong/index.js b/lib/routes/muchong/index.js
new file mode 100644
index 000000000..3646d01a5
--- /dev/null
+++ b/lib/routes/muchong/index.js
@@ -0,0 +1,56 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const iconv = require('iconv-lite');
+
+module.exports = async (ctx) => {
+ const id = ctx.params.id || '';
+ const sort = ctx.params.sort || '';
+ const type = ctx.params.type || 'all';
+
+ const rootUrl = 'http://muchong.com';
+ const currentUrl = `${rootUrl}/f-${id}-1${sort === '' ? '' : '-' + sort}${type === 'all' ? '' : '-typeid-' + type}`;
+ const response = await got({
+ method: 'get',
+ url: currentUrl,
+ responseType: 'buffer',
+ });
+
+ const $ = cheerio.load(iconv.decode(response.data, 'gbk'));
+
+ const list = $('.xmc_bpt tbody .forum_list')
+ .slice(1, 10)
+ .map((_, item) => {
+ item = $(item);
+ return {
+ author: item.find('.by cite a').text(),
+ link: `${rootUrl}${item.find('.a_subject').attr('href')}`,
+ title: item.find('.thread-name span').eq(0).text() + item.find('.a_subject').text(),
+ pubDate: new Date(sort === '' ? item.find('.by cite nobr').text() : item.find('.by .xmc_b9').eq(0).text()).toUTCString(),
+ };
+ })
+ .get();
+
+ const items = await Promise.all(
+ list.map(
+ async (item) =>
+ await 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('#pid1').find('.t_fsz').html();
+
+ return item;
+ })
+ )
+ );
+
+ ctx.state.data = {
+ title: $('title').text().replace('-学术科研互动平台', ''),
+ link: currentUrl,
+ item: items,
+ };
+};