diff --git a/docs/README.md b/docs/README.md
index f08d720cd..c783064b5 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1412,14 +1412,22 @@ category 列表:
### 四川旅游学院
-
+
-
+
+
+
+
+
+
+
| 教务通知 | 信息公告 |
| -------- | -------- |
| 13 | 14 |
+
+
### 电子科技大学
diff --git a/router.js b/router.js
index 29fce831b..484fc4a74 100644
--- a/router.js
+++ b/router.js
@@ -596,8 +596,10 @@ router.get('/njust/cwc/:type', require('./routes/universities/njust/cwc'));
router.get('/njust/gs/:type', require('./routes/universities/njust/gs'));
// 四川旅游学院
-router.get('/sctu/xgxy', require('./routes/universities/sctu/xgxy'));
-router.get('/sctu/jwc/:type?', require('./routes/universities/sctu/jwc'));
+router.get('/sctu/xgxy', require('./routes/universities/sctu/information-engineer-faculty/index'));
+router.get('/sctu/xgxy/:id', require('./routes/universities/sctu/information-engineer-faculty/context'));
+router.get('/sctu/jwc/:type?', require('./routes/universities/sctu/jwc/index'));
+router.get('/sctu/jwc/:type/:id', require('./routes/universities/sctu/jwc/context'));
// 电子科技大学
router.get('/uestc/jwc/:type?', require('./routes/universities/uestc/jwc'));
diff --git a/routes/universities/sctu/information-engineer-faculty/context.js b/routes/universities/sctu/information-engineer-faculty/context.js
new file mode 100644
index 000000000..1a4ffaa9e
--- /dev/null
+++ b/routes/universities/sctu/information-engineer-faculty/context.js
@@ -0,0 +1,44 @@
+const axios = require('../../../../utils/axios');
+const cheerio = require('cheerio');
+const iconv = require('iconv-lite');
+
+module.exports = async (ctx) => {
+ const response = await axios({
+ method: 'get',
+ url: `http://it.sctu.edu.cn/data.asp?fa=2&fl=12&zi=0&id=${ctx.params.id}`,
+ responseType: 'arraybuffer',
+ headers: {
+ Referer: 'http://it.sctu.edu.cn/',
+ },
+ });
+
+ const formal = (buffer) => {
+ // HTML-buffer转为gb2312
+ const data = iconv.decode(buffer, 'gb2312');
+
+ return cheerio.load(data);
+ };
+
+ const $ = formal(response.data);
+
+ const list = $('.data');
+
+ ctx.state.data = {
+ title: '四川旅游学院',
+ link: 'http://www.sctu.edu.cn',
+ description: $('meta[name="description"]').attr('content'),
+ item:
+ list &&
+ list
+ .map((index, item) => {
+ item = $(item);
+
+ return {
+ title: $(item.find('.data_bt')).text(),
+ pubDate: $(item.find('.data_in')).text(),
+ description: item.find('.data_co').html(),
+ };
+ })
+ .get(),
+ };
+};
diff --git a/routes/universities/sctu/xgxy.js b/routes/universities/sctu/information-engineer-faculty/index.js
similarity index 91%
rename from routes/universities/sctu/xgxy.js
rename to routes/universities/sctu/information-engineer-faculty/index.js
index 5f94ea1a5..1a99f8f25 100644
--- a/routes/universities/sctu/xgxy.js
+++ b/routes/universities/sctu/information-engineer-faculty/index.js
@@ -1,4 +1,4 @@
-const axios = require('../../../utils/axios');
+const axios = require('../../../../utils/axios');
const cheerio = require('cheerio');
const iconv = require('iconv-lite');
@@ -19,7 +19,7 @@ module.exports = async (ctx) => {
const list = $('.list_dt a');
ctx.state.data = {
- title: '四川旅游学院首页',
+ title: '四川旅游学院信息与工程系',
link: 'http://www.sctu.edu.cn',
description: $('meta[name="description"]').attr('content'),
item:
diff --git a/routes/universities/sctu/jwc/context.js b/routes/universities/sctu/jwc/context.js
new file mode 100644
index 000000000..cbe073b97
--- /dev/null
+++ b/routes/universities/sctu/jwc/context.js
@@ -0,0 +1,44 @@
+const axios = require('../../../../utils/axios');
+const cheerio = require('cheerio');
+const iconv = require('iconv-lite');
+
+module.exports = async (ctx) => {
+ const response = await axios({
+ method: 'get',
+ url: `http://www.sctu.edu.cn/jwc/content.asp?type=12&fl=${ctx.params.type}&id=${ctx.params.id}`,
+ responseType: 'arraybuffer',
+ headers: {
+ Referer: 'http://sctu.edu.cn/',
+ },
+ });
+
+ const formal = (buffer) => {
+ // HTML-buffer转为gb2312
+ const data = iconv.decode(buffer, 'gb2312');
+
+ return cheerio.load(data);
+ };
+
+ const $ = formal(response.data);
+
+ const list = $('#list2');
+
+ ctx.state.data = {
+ title: '四川旅游学院信息与工程学院',
+ link: 'http://www.sctu.edu.cn',
+ description: $('meta[name="description"]').attr('content'),
+ item:
+ list &&
+ list
+ .map((index, item) => {
+ item = $(item);
+
+ return {
+ title: $(item.find('.title')).text(),
+ pubDate: $(item.find('.info')).text(),
+ description: item.html(),
+ };
+ })
+ .get(),
+ };
+};
diff --git a/routes/universities/sctu/jwc.js b/routes/universities/sctu/jwc/index.js
similarity index 79%
rename from routes/universities/sctu/jwc.js
rename to routes/universities/sctu/jwc/index.js
index 035b124f2..4cb6cb9ba 100644
--- a/routes/universities/sctu/jwc.js
+++ b/routes/universities/sctu/jwc/index.js
@@ -1,4 +1,4 @@
-const axios = require('../../../utils/axios');
+const axios = require('../../../../utils/axios');
const cheerio = require('cheerio');
const iconv = require('iconv-lite');
@@ -13,15 +13,19 @@ module.exports = async (ctx) => {
},
});
- // HTML-buffer转为gb2312
- const data = iconv.decode(response.data, 'gb2312');
+ const formal = (buffer) => {
+ // HTML-buffer转为gb2312
+ const data = iconv.decode(buffer, 'gb2312');
- const $ = cheerio.load(data);
+ return cheerio.load(data);
+ };
+
+ const $ = formal(response.data);
const list = $('#list1 ul li');
ctx.state.data = {
- title: '四川旅游学院首页',
+ title: '四川旅游学院',
link: 'http://www.sctu.edu.cn',
description: $('meta[name="description"]').attr('content'),
item: