-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/DIYgod/RSSHub
- Loading branch information
Showing
5 changed files
with
136 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import type { Namespace } from '@/types'; | ||
|
||
export const namespace: Namespace = { | ||
name: '道宣的窝', | ||
url: 'daoxuan.cc', | ||
lang: 'zh-CN', | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import { Route } from '@/types'; | ||
import got from '@/utils/got'; | ||
import { load } from 'cheerio'; | ||
import { parseDate } from '@/utils/parse-date'; | ||
|
||
export const route: Route = { | ||
path: '/', | ||
categories: ['blog'], | ||
example: '/daoxuan', | ||
radar: [ | ||
{ | ||
source: ['daoxuan.cc/'], | ||
}, | ||
], | ||
name: '推荐阅读文章', | ||
maintainers: ['dx2331lxz'], | ||
url: 'daoxuan.cc/', | ||
handler, | ||
}; | ||
|
||
async function handler() { | ||
const url = 'https://daoxuan.cc/'; | ||
const response = await got({ method: 'get', url }); | ||
const $ = load(response.data); | ||
const items = $('div.recent-post-item') | ||
.toArray() | ||
.map((item) => { | ||
item = $(item); | ||
const a = item.find('a.article-title').first(); | ||
const timeElement = item.find('time').first(); | ||
return { | ||
title: a.attr('title'), | ||
link: `https://daoxuan.cc${a.attr('href')}`, | ||
pubDate: parseDate(timeElement.attr('datetime')), | ||
description: a.attr('title'), | ||
}; | ||
}); | ||
return { | ||
title: '道宣的窝', | ||
link: url, | ||
item: items, | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
import { Route, ViewType } from '@/types'; | ||
import cache from '@/utils/cache'; | ||
import got from '@/utils/got'; | ||
import { load } from 'cheerio'; | ||
import { parseDate } from '@/utils/parse-date'; | ||
import timezone from '@/utils/timezone'; | ||
|
||
const rootUrl = 'https://news.hrbust.edu.cn'; | ||
|
||
export const route: Route = { | ||
path: '/news/:category?', | ||
name: '新闻网', | ||
url: 'news.hrbust.edu.cn', | ||
maintainers: ['cscnk52'], | ||
handler, | ||
example: '/hrbust/news', | ||
parameters: { category: '栏目标识,默认为理工要闻' }, | ||
description: ` | ||
| lgyw | xwdd | zhenew | jxky | ycdt | xskc | jlhz | zsjy | djsz | zxbf | lgxb | mtlg | jzlt | | ||
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | | ||
| 理工要闻 | 新闻导读 | 综合新闻 | 教学科研 | 院处动态 | 学术科创 | 交流合作 | 招生就业 | 党建思政 | 在线播放 | 理工校报 | 媒体理工 | 讲座论坛 | | ||
`, | ||
categories: ['university'], | ||
features: { | ||
supportRadar: true, | ||
}, | ||
radar: [ | ||
{ | ||
source: ['news.hrbust.edu.cn/:category.htm'], | ||
}, | ||
], | ||
view: ViewType.Notifications, | ||
}; | ||
|
||
async function handler(ctx) { | ||
const { category = 'lgyw' } = ctx.req.param(); | ||
|
||
const response = await got(`${rootUrl}/${category}.htm`); | ||
|
||
const $ = load(response.data); | ||
|
||
const bigTitle = $('title').text().split('-')[0].trim(); | ||
|
||
const list = $('div.main-liebiao-con-left-bottom li[id^=line_u10]') | ||
.toArray() | ||
.map((item) => { | ||
const element = $(item); | ||
const link = new URL(element.find('a').attr('href'), rootUrl).href; | ||
const pubDateText = element.find('span').text().trim(); | ||
const pubDate = pubDateText ? timezone(parseDate(pubDateText), +8) : null; | ||
return { | ||
title: element.find('a').text().trim(), | ||
pubDate, | ||
link, | ||
}; | ||
}); | ||
|
||
const items = await Promise.all( | ||
list.map((item) => | ||
cache.tryGet(item.link, async () => { | ||
const detailResponse = await got(item.link); | ||
const content = load(detailResponse.data); | ||
|
||
const dateText = content('p.xinxi span:contains("日期时间:")').text().replace('日期时间:', '').trim(); | ||
const pubTime = dateText ? timezone(parseDate(dateText), +8) : null; | ||
if (pubTime) { | ||
item.pubDate = pubTime; | ||
} | ||
|
||
item.description = content('div.v_news_content').html() || '本文需跳转,请点击标题后阅读'; | ||
return item; | ||
}) | ||
) | ||
); | ||
|
||
return { | ||
title: `哈尔滨理工大学新闻网 - ${bigTitle}`, | ||
link: `${rootUrl}/${category}.htm`, | ||
item: items, | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters