mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-08 22:19:40 +08:00
@@ -989,6 +989,10 @@ GitHub 官方也提供了一些 RSS:
|
|||||||
|
|
||||||
<route name="Post" author="xyqfer" example="/sankakucomplex/post" path="/sankakucomplex/post"/>
|
<route name="Post" author="xyqfer" example="/sankakucomplex/post" path="/sankakucomplex/post"/>
|
||||||
|
|
||||||
|
### 高清电台
|
||||||
|
|
||||||
|
<route name="最新电影" author="Songkeys" example="/gaoqing/latest" path="/gaoqing/latest"/>
|
||||||
|
|
||||||
## 图片
|
## 图片
|
||||||
|
|
||||||
### 妹子图
|
### 妹子图
|
||||||
|
|||||||
@@ -1019,6 +1019,9 @@ router.get('/jpmorganchase', require('./routes/jpmorganchase/research'));
|
|||||||
// 美拍
|
// 美拍
|
||||||
router.get('/meipai/user/:uid', require('./routes/meipai/user'));
|
router.get('/meipai/user/:uid', require('./routes/meipai/user'));
|
||||||
|
|
||||||
|
// 高清电台
|
||||||
|
router.get('/gaoqing/latest', require('./routes/gaoqing/latest'));
|
||||||
|
|
||||||
// 轻小说文库
|
// 轻小说文库
|
||||||
router.get('/wenku8/chapter/:id', require('./routes/wenku8/chapter'));
|
router.get('/wenku8/chapter/:id', require('./routes/wenku8/chapter'));
|
||||||
|
|
||||||
|
|||||||
28
lib/routes/gaoqing/latest.js
Normal file
28
lib/routes/gaoqing/latest.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
const axios = require('../../utils/axios');
|
||||||
|
const cheerio = require('cheerio');
|
||||||
|
const util = require('./utils');
|
||||||
|
|
||||||
|
module.exports = async (ctx) => {
|
||||||
|
const response = await axios({
|
||||||
|
method: 'get',
|
||||||
|
url: 'https://gaoqing.fm/',
|
||||||
|
headers: {
|
||||||
|
Referer: 'https://gaoqing.fm/',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const data = response.data;
|
||||||
|
|
||||||
|
const $ = cheerio.load(data);
|
||||||
|
const list = $('#result1 > li').get();
|
||||||
|
|
||||||
|
let result = await util.ProcessFeed(list, ctx.cache);
|
||||||
|
result = result.slice(0, 10);
|
||||||
|
|
||||||
|
ctx.state.data = {
|
||||||
|
title: '高清电台',
|
||||||
|
link: 'https://gaoqing.fm',
|
||||||
|
description: $('meta[name="description"]').attr('content'),
|
||||||
|
item: result,
|
||||||
|
};
|
||||||
|
};
|
||||||
59
lib/routes/gaoqing/utils.js
Normal file
59
lib/routes/gaoqing/utils.js
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
const axios = require('../../utils/axios');
|
||||||
|
const cheerio = require('cheerio');
|
||||||
|
|
||||||
|
// 加载详情页
|
||||||
|
async function load(link) {
|
||||||
|
const response = await axios.get(link);
|
||||||
|
const $ = cheerio.load(response.data);
|
||||||
|
|
||||||
|
// 提取标题
|
||||||
|
const title = $('#mainrow > div:nth-child(2) > div.col-md-9 > div.row > div.col-md-12').html();
|
||||||
|
|
||||||
|
// 提取图片
|
||||||
|
const img = $('.x-m-poster').html();
|
||||||
|
|
||||||
|
// 提取资料
|
||||||
|
$('#viewfilm')
|
||||||
|
.find('img')
|
||||||
|
.remove();
|
||||||
|
const info = $('#viewfilm').html();
|
||||||
|
|
||||||
|
// 提取简介
|
||||||
|
const intro = $('#des-ex').html() || $('#des-full').html();
|
||||||
|
|
||||||
|
// 合并为描述
|
||||||
|
const description = title + img + info + intro;
|
||||||
|
|
||||||
|
return { description };
|
||||||
|
}
|
||||||
|
|
||||||
|
const ProcessFeed = async (list, caches) =>
|
||||||
|
await Promise.all(
|
||||||
|
list.map(async (item) => {
|
||||||
|
const $ = cheerio.load(item);
|
||||||
|
|
||||||
|
// 获取链接
|
||||||
|
const $title = $('div.item-desc.pull-left > p > a');
|
||||||
|
const itemUrl = $title.attr('href');
|
||||||
|
|
||||||
|
// 获取评分
|
||||||
|
const rate = $('div.item-desc.pull-left > p > span').text();
|
||||||
|
|
||||||
|
// 列表上提取到的信息
|
||||||
|
const single = {
|
||||||
|
title: $title.text() + ' - ' + rate,
|
||||||
|
link: itemUrl,
|
||||||
|
guid: itemUrl,
|
||||||
|
};
|
||||||
|
|
||||||
|
// 缓存
|
||||||
|
const other = await caches.tryGet(itemUrl, async () => await load(itemUrl));
|
||||||
|
|
||||||
|
// 合并结果
|
||||||
|
return Promise.resolve(Object.assign({}, single, other));
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
ProcessFeed,
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user