diff --git a/lib/routes/universities/ahut/cstzgg.js b/lib/routes/universities/ahut/cstzgg.js
index 79f1d2dff..c3177bb20 100644
--- a/lib/routes/universities/ahut/cstzgg.js
+++ b/lib/routes/universities/ahut/cstzgg.js
@@ -1,58 +1,39 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
+const url = require('url');
module.exports = async (ctx) => {
- const url = `http://jsjxy.ahut.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1887`;
- const response = await got({
- method: 'get',
- url: url,
- });
+ const response = await got.get('http://jsjxy.ahut.edu.cn/index/tzgg.htm');
const $ = cheerio.load(response.data);
- $('.clickstyle1022').remove();
- $('td[width = "1%"]').remove();
- $('tr[height = "1"]').remove();
- $('td[colspan="3"]').remove();
- $('.leaderfont47822').remove();
- // ## 获取列表
- const list = $('.winstyle47822 > tbody > tr').get();
- // ## 定义输出的item
+
+ // 获取列表
+ const list = $('a.c259382')
+ .map((index, ele) => ({
+ title: $(ele).attr('title'),
+ link: url.resolve('http://jsjxy.ahut.edu.cn/', $(ele).attr('href')),
+ }))
+ .get();
+
+ // 定义输出的item
const out = await Promise.all(
- // ### 遍历列表,筛选出自己想要的内容
+ // 遍历列表,筛选出自己想要的内容
list.map(async (item) => {
- const itemSingle = cheerio.load(item);
- const title = itemSingle.text().replace(/^[\s]+|[\s]+$/g, '');
- const re = /]*href=['"]([^"]*)['"][^>]*>/g;
- let singleUrl = '';
- if (re.exec(itemSingle.html()) !== null) {
- singleUrl = RegExp.$1;
- }
- if (singleUrl.search('http') === -1) {
- singleUrl = 'http://jsjxy.ahut.edu.cn' + singleUrl;
- }
- const cache = await ctx.cache.get(singleUrl); // ### 得到全局中的缓存信息
- // ### 判断缓存是否存在,如果存在即跳过此次获取的信息
+ const cache = await ctx.cache.get(item.link); // 得到全局中的缓存信息
+ // 判断缓存是否存在,如果存在即跳过此次获取的信息
if (cache) {
return Promise.resolve(JSON.parse(cache));
}
// 获取详情页面的介绍
- const detail_response = await got({
- method: 'get',
- url: singleUrl,
- });
+ const detail_response = await got.get(item.link);
const $ = cheerio.load(detail_response.data);
- const detail_content = $('.contentstyle47853 > div').html();
- // ### 设置 RSS feed item
- const single = {
- title: title.replace(/(^\s*)|(\s*$)/g, ''),
- link: singleUrl,
- // author: author,
- description: detail_content,
- // pubDate: updateDate,
- };
- // // ### 设置缓存
- ctx.cache.set(singleUrl, JSON.stringify(single));
- return Promise.resolve(single);
- // }
+
+ // 设置 RSS feed item
+ item.description = $('.contentstyle47853 > div').html();
+ item.pubDate = new Date($('.timestyle47853').text().trim());
+
+ // 设置缓存
+ ctx.cache.set(item.link, JSON.stringify(item));
+ return Promise.resolve(item);
})
);
ctx.state.data = {
diff --git a/lib/routes/universities/ahut/jwc.js b/lib/routes/universities/ahut/jwc.js
index 77e55deb6..957ff3f93 100644
--- a/lib/routes/universities/ahut/jwc.js
+++ b/lib/routes/universities/ahut/jwc.js
@@ -1,56 +1,37 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
+const url = require('url');
module.exports = async (ctx) => {
- const url = `http://jwc.ahut.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1082`;
- const response = await got({
- method: 'get',
- url: url,
- });
+ const response = await got.get('http://jwc.ahut.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1082');
const $ = cheerio.load(response.data);
- $('tr[height="1"]').remove();
- $('td[width="1%"]').remove();
- $('td[colspan="3"]').remove();
- // ## 获取列表
- const list = $('.winstyle44456 > tbody > tr >td').get();
- // ## 定义输出的item
+
+ // 获取列表
+ const list = $('.winstyle44566 tr')
+ .map((index, ele) => ({
+ title: $('a', ele).attr('title'),
+ link: url.resolve('http://jwc.ahut.edu.cn/', $('a', ele).attr('href')),
+ }))
+ .get();
+
+ // 定义输出的item
const out = await Promise.all(
- // ### 遍历列表,筛选出自己想要的内容
+ // 遍历列表,筛选出自己想要的内容
list.map(async (item) => {
- const itemSingle = cheerio.load(item);
- const title = itemSingle.text();
- const re = /]*href=['"]([^"]*)['"][^>]*>/g;
- let singleUrl = '';
- if (re.exec(itemSingle.html()) !== null) {
- singleUrl = RegExp.$1;
- }
- if (singleUrl.search('http') === -1) {
- singleUrl = 'http://jwc.ahut.edu.cn' + singleUrl;
- }
- const cache = await ctx.cache.get(singleUrl); // ### 得到全局中的缓存信息
- // ### 判断缓存是否存在,如果存在即跳过此次获取的信息
+ const cache = await ctx.cache.get(item.link); // 得到全局中的缓存信息
+ // 判断缓存是否存在,如果存在即跳过此次获取的信息
if (cache) {
return Promise.resolve(JSON.parse(cache));
}
// 获取详情页面的介绍
- const detail_response = await got({
- method: 'get',
- url: singleUrl,
- });
+ const detail_response = await got.get(item.link);
const $ = cheerio.load(detail_response.data);
- const detail_content = $('.winstyle44457 > tbody').html();
- // ### 设置 RSS feed item
- const single = {
- title: title,
- link: singleUrl,
- // author: author,
- description: detail_content,
- // pubDate: updateDate,
- };
- // // ### 设置缓存
- ctx.cache.set(singleUrl, JSON.stringify(single));
- return Promise.resolve(single);
- // }
+ // 设置 RSS feed item
+ item.description = $('.winstyle44457 > tbody').html();
+ item.pubDate = new Date($('.timestyle44457').text().trim());
+ // 设置缓存
+ ctx.cache.set(item.link, JSON.stringify(item));
+ return Promise.resolve(item);
})
);
ctx.state.data = {
diff --git a/lib/routes/universities/ahut/news.js b/lib/routes/universities/ahut/news.js
index 83aa8e310..67ae500da 100644
--- a/lib/routes/universities/ahut/news.js
+++ b/lib/routes/universities/ahut/news.js
@@ -1,58 +1,38 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
+const url = require('url');
module.exports = async (ctx) => {
- const url = `http://news.ahut.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1002`;
- const response = await got({
- method: 'get',
- url: url,
- });
+ const response = await got.get('http://news.ahut.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1002');
const $ = cheerio.load(response.data);
- $('tr[height="26"]').slice(20);
- $('td[width="1%"]').remove();
- $('.clickstyle1022').remove();
- $('td[colspan="3"]').remove();
- $('.leaderfont1022').remove();
- // ## 获取列表
- const list = $('.winstyle1022 > tbody > tr > td').get();
- // ## 定义输出的item
+
+ // 获取列表
+ const list = $('.winstyle247968 a.c247968')
+ .map((index, ele) => ({
+ title: $(ele).attr('title'),
+ link: url.resolve('http://news.ahut.edu.cn/', $(ele).attr('href')),
+ }))
+ .get();
+ // 定义输出的item
const out = await Promise.all(
- // ### 遍历列表,筛选出自己想要的内容
+ // 遍历列表,筛选出自己想要的内容
list.map(async (item) => {
- const itemSingle = cheerio.load(item);
- const title = itemSingle.text().trim();
- const re = /]*href=['"]([^"]*)['"][^>]*>/g;
- let singleUrl = '';
- if (re.exec(itemSingle.html()) !== null) {
- singleUrl = RegExp.$1;
- }
- if (singleUrl.search('http') === -1) {
- singleUrl = 'http://news.ahut.edu.cn' + singleUrl;
- }
- const cache = await ctx.cache.get(singleUrl); // ### 得到全局中的缓存信息
- // ### 判断缓存是否存在,如果存在即跳过此次获取的信息
+ const cache = await ctx.cache.get(item.link); // 得到全局中的缓存信息
+ // 判断缓存是否存在,如果存在即跳过此次获取的信息
if (cache) {
return Promise.resolve(JSON.parse(cache));
}
// 获取详情页面的介绍
- const detail_response = await got({
- method: 'get',
- url: singleUrl,
- });
+ const detail_response = await got.get(item.link);
const $ = cheerio.load(detail_response.data);
- const detail_content = $('.winstyle1023').html();
- // ### 设置 RSS feed item
- const single = {
- title: title,
- link: singleUrl,
- // author: author,
- description: detail_content,
- // pubDate: updateDate,
- };
- // // ### 设置缓存
- ctx.cache.set(singleUrl, JSON.stringify(single));
- return Promise.resolve(single);
- // }
+
+ // 设置 RSS feed item
+ item.description = $('.winstyle1023').html();
+ item.pubDate = new Date($('.timestyle1023').text().trim());
+
+ // 设置缓存
+ ctx.cache.set(item.link, JSON.stringify(item));
+ return Promise.resolve(item);
})
);
ctx.state.data = {