RSS: add weibo user2
This commit is contained in:
parent
8b0fd6c736
commit
0822fa0af4
|
|
@ -199,9 +199,11 @@ s
|
|||
|
||||
路由: `bilibili/live/search/:key/:order`
|
||||
|
||||
参数: key, 搜索关键字
|
||||
参数
|
||||
|
||||
order ,排序方式 开播时间: live_time,人气:online
|
||||
key: 搜索关键字
|
||||
|
||||
order: 排序方式,live_time 开播时间,online 人气
|
||||
|
||||
### 直播分区
|
||||
|
||||
|
|
@ -213,9 +215,11 @@ order ,排序方式 开播时间: live_time,人气:online
|
|||
|
||||
路由: `bilibili/live/area/:areaID/:order`
|
||||
|
||||
参数: areaID , 分区ID 分区增删较多,可通过 [分区列表](https://api.live.bilibili.com/room/v1/Area/getList) 查询
|
||||
参数
|
||||
|
||||
order ,排序方式 开播时间: live_time,人气:online
|
||||
areaID: 分区ID 分区增删较多,可通过 [分区列表](https://api.live.bilibili.com/room/v1/Area/getList) 查询
|
||||
|
||||
order: 排序方式,live_time 开播时间,online 人气
|
||||
|
||||
## 微博
|
||||
|
||||
|
|
@ -227,6 +231,14 @@ order ,排序方式 开播时间: live_time,人气:online
|
|||
|
||||
参数: uid,用户 id,博主主页打开控制台执行 `/uid=(\d+)/. exec(document.querySelector('.opt_box .btn_bed').getAttribute('action-data'))[1]` 获取
|
||||
|
||||
::: warning 注意
|
||||
**个别**博主会有明显的数据缺失,原因未知,所以这里提供另外一种方式,但这种方式的缺点是描述不如第一种完善。出现缺失的情况较少,建议优先选择第一种方案
|
||||
:::
|
||||
|
||||
举例: [https://rss.now.sh/weibo/user2/3306934123](https://rss.now.sh/weibo/user2/3306934123)
|
||||
|
||||
路由: `/weibo/user2/:uid`
|
||||
|
||||
### 关键词
|
||||
|
||||
举例: [https://rss.now.sh/weibo/keyword/DIYgod](https://rss.now.sh/weibo/keyword/DIYgod)
|
||||
|
|
|
|||
|
|
@ -27,9 +27,9 @@ router.get('/bilibili/live/room/:roomID', require('./routes/bilibili/liveRoom'))
|
|||
router.get('/bilibili/live/search/:key/:order', require('./routes/bilibili/liveSearch'));
|
||||
router.get('/bilibili/live/area/:areaID/:order', require('./routes/bilibili/liveArea'));
|
||||
|
||||
|
||||
// 微博
|
||||
router.get('/weibo/user/:uid', require('./routes/weibo/user'));
|
||||
router.get('/weibo/user2/:uid', require('./routes/weibo/user2'));
|
||||
router.get('/weibo/keyword/:keyword', require('./routes/weibo/keyword'));
|
||||
|
||||
// 网易云音乐
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
const axios = require('axios');
|
||||
const cheerio = require('cheerio');
|
||||
const config = require('../../config');
|
||||
const weiboUtils = require('./utils');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const uid = ctx.params.uid;
|
||||
|
||||
const response = await axios({
|
||||
method: 'get',
|
||||
url: `http://service.weibo.com/widget/widget_blog.php?uid=${uid}`,
|
||||
headers: {
|
||||
'User-Agent': config.ua,
|
||||
'Referer': `http://service.weibo.com/widget/widget_blog.php?uid=${uid}`
|
||||
}
|
||||
});
|
||||
|
||||
const data = response.data;
|
||||
|
||||
const $ = cheerio.load(data, {
|
||||
decodeEntities: false
|
||||
});
|
||||
const wbs = [];
|
||||
const items = $('.wgtCell');
|
||||
let wb, item, titleEle;
|
||||
items.map((index, ele) => {
|
||||
wb = {};
|
||||
item = $(ele);
|
||||
titleEle = item.find('.wgtCell_txt');
|
||||
wb.title = titleEle.text().replace(/^\s+|\s+$/g, '');
|
||||
if (wb.title.length > 24) {
|
||||
wb.title = wb.title.slice(0, 24) + '...';
|
||||
}
|
||||
wb.description = titleEle.html().replace(/^\s+|\s+$/g, '').replace(/thumbnail/, 'large');
|
||||
wb.pubDate = weiboUtils.getTime(item.find('.link_d').html());
|
||||
wb.link = item.find('.wgtCell_tm a').attr('href');
|
||||
wbs.push(wb);
|
||||
});
|
||||
const name = $('.userNm').text();
|
||||
|
||||
ctx.state.data = {
|
||||
title: `${name}的微博`,
|
||||
link: `http://weibo.com/${uid}/`,
|
||||
item: wbs,
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue