跳到主要内容

3 篇博文 含有标签「RSS」

查看所有标签

· 阅读需 2 分钟

有了 「Miniflux」在线 RSS 阅读网站,实现多端同步! 工具后,可以实现在线RSS阅读,但是并不是所有的网站都支持RSS,RSSHub 解决了这个问题。

RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容。

开源地址:https://github.com/DIYgod/RSSHub

通过这个工具可以让任何没有RSS的网站,拥有RSS订阅的能力。

部署方式有很多,但是国内应该是访问不了他的官方文档了,建议白嫖Vercel部署:

使用一键部署,,点击Vervel 绑定自定义域名(Vercel 给你的域名已被 DNS污染)部署成功后,访问如下表示成功:

部署成功后,接下来就是使用他,比如我们想订阅微博热搜榜,那么RSSHub给出了地址规则:

/weibo/search/hot ,再加上你的RSSHub域名,https://rsshub.lichenghao.cn/weibo/search/hot 这个就是RSS地址。

那么这个地址规则从哪里来?RSSHub官网可以查询到,但是被墙了,所以我们借助一下官网给的谷浏览器插件:RSSHub-Radar ,下载安装到浏览器上。

在规则列表下,可以查询到支持的网站,里面的target就是上面的规则地址,再加上RSSHub域名就是订阅的RSS地址。

将上述的RSS地址添加到Miniflux中即可:

· 阅读需 1 分钟

不知道现在还有人喜欢订阅RSS不,我个人比较喜欢,因为简洁!通常我在本地用 Fluent Reader ,但是多端同步是个问题。所以搭建个在线 RSS 服务,Fluent Reader 也可通过 api 来同步数据,这样就实现了多端同步。

搭建服务

使用的服务就是:Miniflux

官网:https://miniflux.app/

安装 Docker,Docker-Compose。

准备配置文件 docker-compose.yml

services:
miniflux:
image: miniflux/miniflux:latest
ports:
- "8901:8080"
depends_on:
db:
condition: service_healthy
environment:
- DATABASE_URL=postgres://miniflux:pwd@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=test123
db:
image: postgres:14
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=pwd
volumes:
- /opt/miniflux/db:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "miniflux"]
interval: 10s
start_period: 30s

以下为自定义配置:

  1. 对外端口为 8091;
  2. 设置数据库的用户名密码 miniflux:pwd;
  3. 设置 miniflux 应用的账户 admin:test123;
  4. 数据库文件挂载地址:/opt/miniflux/db 。

启动服务

docker-compose up -d

查看 (设置中可以设置为中文)

在"源"选项中添加 RSS 源就可以订阅浏览了!

同步订阅源

然后在设置——>API秘钥,新建一个秘钥,在 Fluent Reader 服务中添加站点及秘钥,即可同步订阅源了!

(除此之外,还支持Fever API )

· 阅读需 1 分钟

首先注册 「百度搜索资源平台」 创建站点后,得到类似如下的 api 链接:

http://data.zz.baidu.com/urls?site=https://blog.lichenghao.cn&token=xxxx

安装 Python 环境,百度 or lichlaughing的语雀-搭建 python3.x 环境

编写脚本 push-to-baidu.py

import feedparser
import requests

# 需要修改
push_url = 'http://data.zz.baidu.com/urls?site=https://blog.lichenghao.cn&token=xxxx'
headers = {
"Host": "data.zz.baidu.com",
"Content-Length": "83"
}
page_list = []
# rss 地址。或者自己整理地址
d = feedparser.parse('https://blog.lichenghao.cn/atom.xml')
for key in d.entries:
page_list.append(key.link)

post_data = '\n'.join(page_list)
response = requests.post(push_url, headers=headers, data=post_data)
print(response.text)

需要在服务器上提前安装依赖

pip3 install feedparser
pip3 install requests

将脚本上传到服务器的某个位置,配合宝塔使用,更丝滑

正常的执行结果

{"remain":2920,"success":20}