为了减少我的摸鱼,开始思考下时间一般用在哪里,浏览网页应该占了大部分,那
打开各种网页时间==摸鱼时间
减少打开网页时间,估计你也想到了,就是rss嘛,不止作为信息聚合,还可以抑制我想打开网页的焦虑,在大学就曾听过了rss,不过缺少可定制rss源,最近发觉有rsshub,妙啊,于是开始做点路由。
简单的做路由有createfeed,不过限制偏多,文章数目也只有5,复杂的直接用rsshub做好了,虽然不太懂,但我从来不生产代码,只是代码搬运工,所以有以下代码
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const response = await got({
method: 'get',
url: 'https://bgm.tv/timeline', //做订阅的链接
});
const data = response.data;
const $ = cheerio.load(data);
const list = $('.tml_item'); //重复的条目
ctx.state.data = {
title: '时间线',
link: 'https://bgm.tv/timeline',
item:
list &&
list
.map((index, item) => {
item = $(item);
if(item.find('.info').text().indexOf("注册")==-1 && item.find('.info').text().indexOf("成为了") ==-1){
description= `${item.find('.info').html()}`;
title=item.find('.info').text();
link=$(item.find('.info a')[2]).attr('href');
}
return {
title: title,
description: description,
link: link
};
})
.get(),
};
};
不过有时候需要链接内容,就需要多抄写一点代码
const got = require('@/utils/got');
const cheerio = require('cheerio');
const config = require('@/config').value;
const iconv = require('iconv-lite');
const baseurl = 'https://m.miaola.info/thread/96';
module.exports = async (ctx) => {
const cookie = config.feiyue.cookie;
const url = baseurl;
const response = await got.get(url, {
responseType: 'buffer', //防止乱码
headers: {
Cookie: cookie, //请求cookie
},
});
const data = iconv.decode(response.data, 'gb2312'); //防止乱码
const $ = cheerio.load(data);
const query = $('.thread-link-item');
const list = $(query)
.slice(0, 10)
.map((_, item) => {
item = $(item);
return {
link: `https://m.miaola.info/${$(item.find('a')[0]).attr("href")}`, //条目内链接
};
})
.get();
const items = await Promise.all( //条目内容
list.map(
async (item) =>
await ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got.get(item.link,{
responseType: 'buffer',
headers: {
Cookie: cookie,
},
});
const data = iconv.decode(detailResponse.data, 'gb2312');
const content = cheerio.load(data);
content ('.floor_edit_mark').remove()
content ('.fieldset').remove()
content ('.read_fds').remove()
item.title = content('.thread-title').text().slice(0, 10);
item.description = content('.read-content').html();
return item;
})
)
);
ctx.state.data = {
title: '绯月图',
link: url,
item: items,
};
};
虽然最后还是一堆乱码,不过把图片成功扒出来就行。 接着找rss阅读器,最好是feedly,不过上不了,还有innoreader有点卡不过将就。
然而减少摸鱼时间了吗,好像并没有反而发呆时间变多了。