首页 > 其他分享 >自建 RSSHub,打造你的专属信息聚合神器!

自建 RSSHub,打造你的专属信息聚合神器!

时间:2024-08-15 11:39:08浏览次数:7  
标签:专属 RSSHub rsshub marked 神器 Cookie https com

本文着重讲讲根据 Docker 如何自建 RSSHub。

当然,根据官网文档,使用 npm/Vercel 的方式也是可以的,也很简单。

先声明下:

  • 如果没有编程基础的话,搭建起来会有点麻烦,这没关系,每天学习一点,慢慢搭建,总能成功的。
  • 网上有不少一键部署的教程,Vercel 一键部署 RSSHub
  • 如果你实在不想动手,那就用我上一篇博客提到的 RSSHub 镜像实例,搭网友的便车。

什么是 Docker

如果你不了解什么是 Docker,可以看看我写的 Docker 教程:https://www.peterjxl.com/Docker,看前几篇文章就行。

Docker 其实不是很复杂,能安装、启动、了解一些常用命令就可以完成日常的使用了。

如果你觉得我的博客比较难懂,也可以去看其他人写的教程,网上有很多。

官网文档

可以先简单看看官网文档(访问不到的话可以看看镜像站):

关于镜像的问题

默认的镜像是:diygod/rsshub

但我推荐使用 diygod/rsshub:chromium-bundled​,该镜像还包括了 puppeteer​,这是一个 Node 库,有些 RSS 源需要它。

例如,我原先使用的是 diygod/rsshub​,在订阅 B 站用户动态的时候,就遇到报错:

Error: Could not find Chrome (ver. 123.0.6312.86). This can occur if either 1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or 2. your cache path is incorrectly configured (which is: /app/node_modules/.cache/puppeteer). For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.

经过这些参考的 issue,才知道换一个镜像,后续就没报错了:

Docker Compose

我这里使用 Compose 方式,就不用下载镜像后再配置了。新建 docker-compose.yml 文件,内容如下:

services:
    rsshub:
        # two ways to enable puppeteer:
        # * comment out marked lines, then use this image instead: diygod/rsshub:chromium-bundled
        # * (consumes more disk space and memory) leave everything unchanged
        image: diygod/rsshub:chromium-bundled
        restart: always
        ports:
            - '1200:1200'
        environment:
            NODE_ENV: production
            CACHE_TYPE: redis
            REDIS_URL: 'redis://redis:6379/'
            PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'  # marked
        depends_on:
            - redis
            - browserless  # marked

    browserless:  # marked
        image: browserless/chrome  # marked
        restart: always  # marked
        ulimits:  # marked
          core:  # marked
            hard: 0  # marked
            soft: 0  # marked

    redis:
        image: redis:alpine
        restart: always
        volumes:
            - redis-data:/data

volumes:
    redis-data:

PS:该文件来自官网 https://github.com/DIYgod/RSSHub/blob/master/docker-compose.yml,我这里仅仅是修改了镜像为 diygod/rsshub:chromium-bundled

创建 volume 持久化 Redis 缓存:

docker volume create redis-data

启动(加了 -d​ 是后台启动的意思。如果不加则是前台启动,一关闭终端就会停止):

docker compose up -d

停止:

docker compose down

然后我们就可以开始订阅啦~

订阅 bilibili

订阅的时候,注意有些路由是要做配置的,原因在之前的博客讲“RSS 的没落”的时候也讲过。

例如,订阅 B 站需要 Cookie(可以理解为登录后的凭证,感兴趣的可以看我的另一篇博客:Cookie 笔记

官网文档是这样说的:

我觉得这个步骤有点太简单了,我折腾了好久、查了很多 issue 才达到这个功能,接下来就详细说明下如何操作。

首先登录 bilibili,然后打开 https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=0&type=8

然后按 F12 键打开浏览器的控制台,切换到 Network (网络)面板:

再次刷新网页,并且查找 dy 开头的网络请求,然后找到请求标头里的 Cookie 字段:

然后可以双击该字段,就会全选,然后按下 Ctrl + C 复制(注意 Cookie 是一个很长的字符串,这里我截图只截了一部分,此外不同路由需要的字段也不尽相同,具体请参考官网文档)

然后我们在 docker-compose.yml 的同级目录下,新建 rsshub.env 文件(新建 txt 后,然后改后缀名),文件内容格式为:

BILIBILI_COOKIE_{UID}=[Cookie]

例如我的文件内容如下:

BILIBILI_COOKIE_12345678 = buvid3=6049693D-979D-D59F-D0EF-02E96541F39075143...

注:

  • 这个文件是 Docker​ 的环境变量文件
  • 关于文件名:env​ 是后缀,不能改;而 rsshub​ 是应用的名字(在 docker-compose.yml​ 里配置的)。
  • 如果只命名为 .env​,会因为“. 开头的文件和目录被视为隐藏文件”而读取不到
  • UID 随便填,填个 123456 都行

然后重启 RSSHub 即可,这样后续就可以订阅 B 站动态了。

注意:cookie 会更新,更新后原本的就会失效,导致 rsshub 抓取失败。所以需要定期更新,并且重启 docker。如果不提供 Cookie 或者 Cookie 已经失效了,那么订阅时会提示:

Error: 503 Service Unavailable

一些方案:

  • 方法一:在浏览器无痕模式(隐身模式)下登录后获取相应的 Cookie。因为用户通过浏览器访问才会触发 Cookie 刷新,所以可以用该方法规避,能极大地延长 Cookie 有效时间。
  • 方法二:使用 CookieCloud 同步 Cookie。这一步较为负责,不展开讲。

我平时用的是 Chrome 浏览器,然后我通过 Edge 浏览器获取的 Cookie,也能用很长一段时间。

参考的 issue:

RSSHub 日常维护

由于我是在 Windows 上使用,因此新建了一个 restart.bat​ 文件,里面的内容是:

docker compose down

docker compose up -d

pause

这样我双击该 bat 文件,即可完成 RSSHub 的重启,而不用动手输命令:

如果你使用的是 Linux,也可以新建一个 shell 脚本完成类似的功能。

——完——

标签:专属,RSSHub,rsshub,marked,神器,Cookie,https,com
From: https://www.cnblogs.com/PeterJXL/p/18360574

相关文章

  • 语音转文字神器,准确率99%!你还在用手打吗?
    不知道大家会不会和我一样,在平时开会或者是看网课等等音频的时候,会选择一些可以快速将语音识别成文字的工具来帮助我们高效地进行重点内容的提取,不仅实现可以快速记笔记,还可以直接直接导出字幕,所以今天特地整理了四款可以实现语音转文的工具给大家:第一款:福昕在线语音转文字......
  • PDF编辑神器!这四款福昕PDF,让文档编辑变得如此简单
    每天不管是工作还是在学习以及日常当中,遇到的PDF文件量很大并且需要面临的文件转换、编辑和阅读中需要的下划线、批注等等都是很常见的,所以今天借此文章,整理了手里用过的四款好用的福昕PDF工具,大家一起来探讨我们国产老大哥旗下的优质PDF工具:第一款:福昕编辑大师直通车(粘贴到......
  • 新手也能学会!这四款音频剪辑神器,让你秒变音乐达人
    平时我自己就很喜欢倒腾一些音乐,还有在会议或者上课时也会打开录音录制音频下来做简单的裁剪提取重点,所以好用的音频剪辑工具也是帮助我们提升工作和日常娱乐质量和效率的重要因素之一,今天就一起来探讨四款媒体人必备的音频剪辑工具,让我们的音频剪辑更加简单~第一款:福昕音频......
  • 电脑高手必备!这款数据恢复神器你值得拥有
    哎呀,现在我们天天在用的手机、电脑和各种移动设备都是有很多日常和工作中的重要数据,丢失重要的文件和数据的时候就很着急,所以我也很感同身受,为此困扰过我好几次,所以今天特地借此文章整理了常用的失易得数据恢复软件好用之处,顺带推荐另外三款恢复工具:失易得数据恢复软件的好用......
  • Python网页应用开发神器fac 0.3.0全新版本发布
    大家好我是费老师,在Python生态中,有很多以Python为主要开发语言,实现网页应用开发的框架,其中最为知名的有Dash、flet、streamlit、gradio、nicegui等。如果综合考虑流行度、开发效率、开发自由度、相关生态成熟度、可拓展性、安全性等各方面的能力,Dash是其中天花板级别的存在,这也是......
  • 基于PaddleNLP信息抽取,uie微调打造自己专属的信息抽取模型
    基于PaddleNLP信息抽取,uie微调打造自己专属的信息抽取模型UIE模型简介UIE优势应用示例UIE开箱即用UIE适用抽取示例命名实体识别(NamedEntityRecognition,简称NER)关系抽取(RelationExtraction,简称RE)事件抽取(EventExtraction,简称EE)评论观点抽取情感倾向分类......
  • 无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智
    无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案1.Dify简介1.1功能情况Dify,一款引领未来的开源大语言模型(LLM)应用开发平台,革新性地融合了后端即服务(BackendasaService,BaaS)与LLMOps的精髓,为开发者铺设了一条从创意原型到......
  • 笔灵AI,职场写作新神器? 报告、策划,秒速完成,效率翻倍。
    在数字化浪潮席卷而来的今天,写作能力几乎成为每个人都必备的核心技能。然而,面对一张白纸或者跳动的光标,很多人往往陷入灵感的荒漠,感到束手无策。本文旨在介绍一种高效的写作辅助工具——笔灵AI写作。该工具适应各种写作场合及不同用户群体,包括但不限于政府机构文职人员、作家、......
  • 《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(4)-再识Wireshark
    1.简介按照以前的讲解和分享路数,宏哥今天就应该从外观上来讲解WireShark的界面功能了。2.软件界面由上到下依次是标题栏、主菜单栏、主菜单工具栏、显示过滤文本框、打开区、最近捕获并保存的文件、捕获区、捕获过滤文本框、本机所有网络接口、学习区及用户指南等。2.1启动界......
  • 修片神器Adobe Photoshop 2021 ACR14.3 一键直装特别版
    AdobePhotoshop2021版本目前已经出来了,总体变化不大,软件最大的不同就是启动图标了,能让人一眼就看出来你用的是2021版本。软件更注重智能,提供了AI的功能。不过说实话,这些功能,国内很多的软件就已经提供了,不过Adobe家做的更强。Photoshop以其强悍的编辑和调整、绘图等功能得到......