diff --git a/docs/university.md b/docs/university.md
index a2dc2215f..9d8e913b4 100644
--- a/docs/university.md
+++ b/docs/university.md
@@ -1587,6 +1587,12 @@ type 列表:
+## 西南交通大学
+
+### 交通运输与物流学院
+
+
+
## 西南科技大学
### 教务处新闻
diff --git a/lib/router.js b/lib/router.js
index cb2dc6c8f..a2e0122b9 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -2670,6 +2670,9 @@ router.get('/hnust/computer', require('./routes/universities/hnust/computer/inde
router.get('/hnust/art', require('./routes/universities/hnust/art/index'));
router.get('/hnust/graduate/:type?', require('./routes/universities/hnust/graduate/index'));
+// 西南交通大学
+router.get('/swjtu/tl/news', require('./routes/swjtu/tl/news'));
+
// AGE动漫
router.get('/agefans/detail/:id', require('./routes/agefans/detail'));
diff --git a/lib/routes/swjtu/tl/news.js b/lib/routes/swjtu/tl/news.js
new file mode 100644
index 000000000..f3c2c87a9
--- /dev/null
+++ b/lib/routes/swjtu/tl/news.js
@@ -0,0 +1,35 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const url = require('url');
+
+module.exports = async (ctx) => {
+ const index_url = 'https://ctt.swjtu.edu.cn/xwdt.htm';
+ const response = await got({
+ method: 'get',
+ url: index_url,
+ });
+
+ const data = response.data;
+
+ const $ = cheerio.load(data);
+ const list = $('div.news_item');
+
+ ctx.state.data = {
+ title: $('title').text(),
+ link: index_url,
+ item:
+ list &&
+ list
+ .map((index, item) => {
+ item = $(item);
+ const link = url.resolve(index_url, item.find('a').eq(1).attr('href'));
+ return {
+ title: item.children('div.news_item_title').text(),
+ description: `网页链接`,
+ link: link,
+ pubDate: new Date(item.children('div.news_item_time').text()),
+ };
+ })
+ .get(),
+ };
+};