RSShub在bilibili和weibo的一些基础配置

这是什么

暄穗在实际使用rsshub订阅国内平台的时候遇到了一些网站的反爬虫机制,导致一些网站在直接使用RSShub的时候无法拾取信息。在这个时候需要我们对Rsshub的环境进行一定的配置,比如把自己的账号信息或是浏览器的信息配置在rsshub环境中,程序抓取信息的时候自带正确的head就可以通过反爬取机制的限制。

bilibili的cookie配置

如在bilibili平台中如果直接裸爬取大概率是会直接报错的,需要将用户的浏览器cookie添加在config文件里面,具体操作如自建 RSSHub,打造你的专属信息聚合神器!-CSDN博客中所示。

简单说,在浏览器登陆了帐号之后,打开网站 api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8 通过浏览器的开发工具网络模块找到一个cookie值,完全复制下来。

然后在应用的docker-compose.yml文件中进行文件配置,在rsshub的environment里面加上BILIBILI_COOKIE_你的UID : “你的Cookie值”,注意cookie值需要用引号括起来,因为我的cookie中有单引号所以我用双引号括起来。差不多长这样(中间我改了一些信息确保这是无效的用于演示的信息)。

BILIBILI_COOKIE_93428 : "buvid3=B73F8077-A97A-28A2-DF18-DE6B6DE33C7882766infoc; b_nut=1741006682; _uuid=35BEAF7F-FD9E-4624-10CD1-F37D7A465EB383184infoc; enable_web_push=DISABLE; buvid4=1B604924-B54C-8E43-7BF7-89B5E1807EFF83660-025030312-E8iAdFrDoyrfEKkydeDeQw%3D%3D; DedeUserID=3546601188493428; DedeUserIDbili_jct=dbbffc52a0ee7baf9ba16c40b7a06310; sid=8m9rq12i; CURRENT_FNVAL=4048; b_lsid=D46D3B15_1961E5C9EF1; timeMachine=0; bp_t_offset_3546601188493428=1054106693811568640; bsource=search_google"

在完成cookie配置之后重启rsshub就可以爬取bilibili的信息了。

Weibo的饼干以及防盗链媒体方案

在使用rsshub订阅微博的时候,有时会遇到“幽灵账号”,就是可以在电脑浏览器上面看到用户的消息,但是在手机端发现他的主页是空白的,而且使用rsshub也不能订阅。这个时候就需要使用weibo的cookie配置,参照rsshub的文档添加环境变量,和bilibili的cookie添加方式大差不差。我没有weibo账号就不演示了。

另外weibo的防盗链机制使得图片必须通过weibo平台才能够获取,如果直接用rss阅读器没有办法显示图片。需要添加参数通过替换媒体文件的url来使得在rss阅读器中可以显示。

方法是在rsshub的docker-compose.yml的rsshub的environment中添加参数如下:

HOTLINK_TEMPLATE: 'https://image.baidu.com/search/down?url=$${href_ue}'
HOTLINK_INCLUDE_PATHS: /weibo

后话

由于cookie需要不定期的更新这比较麻烦,所以我尽量避免相关的配置。比如bilibili的话我一般只用电脑看视频,所以它和我的youtube一起放在了电脑本地浏览器的feedbro插件里面,同时我在电脑端配置了一个rsshub,所以feedbro通过本地rsshub可以直接在浏览器上面对bilibili进行抓取,这样就不用配置cookie了。

但是偶尔有一次我在检查rss报错的时候发现还是有人使用我的月台信息分发服务,也有学生群体使用我的rsshub来订阅B站上的授课老师来获取知识,所以我现在还是换回了月台rsshub来订阅bilibili,这样如果cookie需要更新了我及时可以发现并修复。也祝各位同学能够学业有成,取得理想的成绩。

如果真的有其他平台的cookie配置需求(比如前文说到的微博幽灵账号订阅),可以在这篇文章下方进行评论,不是太复杂的我都可以进行配置。

最后,我的服务器是阿里云的大陆ecs,想从这里订阅成人内容和境外新闻还是不要再想了。