diff --git a/docs/university.md b/docs/university.md
index 80b21098f..fda78332d 100644
--- a/docs/university.md
+++ b/docs/university.md
@@ -496,6 +496,18 @@ category 列表:
+## 湖北大学
+
+### 新闻通知
+
+
+
+| 综合新闻 | 湖大要闻 | 通知公告 | 学术学者学生 | 媒体湖大 |
+| -------- | -------- | -------- | ------------ | -------- |
+| zhxw | hdyw | tzgg | xsxzxs | mthd |
+
+
+
## 华中科技大学
### 人工智能和自动化学院通知
diff --git a/lib/router.js b/lib/router.js
index 06f516f54..e5bcfaa1d 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -2360,4 +2360,7 @@ router.get('/moxingfans', require('./routes/moxingfans'));
// Chiphell
router.get('/chiphell/forum/:forumId?', require('./routes/chiphell/forum'));
+// 湖北大学
+router.get('/hubu/news/:type', require('./routes/universities/hubu/news'));
+
module.exports = router;
diff --git a/lib/routes/universities/hubu/news.js b/lib/routes/universities/hubu/news.js
new file mode 100644
index 000000000..5ab6a4410
--- /dev/null
+++ b/lib/routes/universities/hubu/news.js
@@ -0,0 +1,45 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+const resolve_url = require('url').resolve;
+
+const base_url = 'http://www.hubu.edu.cn/index';
+
+const map = {
+ zhxw: '/zhxw.htm',
+ hdyw: '/hdyw.htm',
+ tzgg: '/tzgg.htm',
+ xsxzxs: '/xsxzxs.htm',
+ mthd: '/mthd.htm',
+};
+
+module.exports = async (ctx) => {
+ const type = ctx.params.type;
+ const link = `${base_url}${map[type]}`;
+ const date = new Date();
+
+ const response = await got({
+ method: 'get',
+ url: link,
+ headers: {
+ Referer: link,
+ },
+ });
+
+ const $ = cheerio.load(response.data);
+
+ ctx.state.data = {
+ link: link,
+ title: $('title').text(),
+ item: $('.list>ul>li')
+ .slice(0, 10)
+ .map((_, elem) => ({
+ link: resolve_url(link, $('a', elem).attr('href')),
+ title: $('a', elem).text(),
+ pubDate:
+ new Date(`${date.getFullYear()}-${$('span.food-time', elem).text()}`) > date
+ ? new Date(`${date.getFullYear() - 1}-${$('span.food-time', elem).text()}`).toUTCString()
+ : new Date(`${date.getFullYear()}-${$('span.food-time', elem).text()}`).toUTCString(),
+ }))
+ .get(),
+ };
+};