fxd-app-rss-fetch:RSS监测APP

为什么

通过RSS我们可以获取很多网站的更新。即使在这个后RSS时代,我们依然可以通过 fetchRSS、RSSHub来给网站生成RSS。甚至,Check酱浏览器插件也可以把Feed发布为RSS。

是什么

fxd-app-rss-fetch 使用 feed-extractor 库分析 RSS,并返回 json 对象。可以在 FlowDeer 的流程图中使用。同时,它支持 only_changed 参数,只返回最新的内容。如果传入Server酱的 sendkey ,还能将最新内容推送到手机阅读。

如何使用

fxd-app-rss-fetch 是一个 fxd app,你可以通过 fxd-cli 或者 FlowDeer 运行它。

在安装完成 fxd-cli 之后,你可以通过以下命令直接安装 fxd-app-rss-fetch

fxd _install fxd-app-rss-fetch

然后运行帮助命令,可以查看它的方法和对应的参数:

fxd rssFetch help
Version:
 1.0.2
Usage:
 fxd rss-fetch [command] [options]

Command - main:
 --url <string> RSS Feed URL (default: https://ft07.com/feed) (required)
 --only_changed <boolean>       仅返回新的entries (default: false)
 --sendkey <string>     Server酱的sendkey,填写后检查到新entries会推送
 --timeout <number>     超时时间(毫秒) (default: 10000)
 --proxy <string>       如 http://127.0.0.1:8001

使用实例

返回 ft07.com 最新的文章RSS:

fxd rssFetch --url="https://ft07.com/feed/" --format="json"

返回:

{
    "feed": {
        "title": "方糖07",
        "link": "https://ft07.com/",
        "description": "分享关于一人企业的一切",
        "language": "zh-CN",
        "generator": "https://wordpress.org/?v=6.5",
        "published": "2024-04-09T16:11:14.000Z",
        "entries": [
            {
                "id": "https://ft07.com/?p=718",
                "title": "FlowDeer³安装指南",
                "link": "https://ft07.com/flowdeer3-installation-guide/",
                "published": "2024-04-09T15:18:44.000Z",
                "description": "安装 预置条件 FlowDeer客户…",
                "content": ""
            },
            {
                "id": "http://ft07.com/?p=683",
                "title": "WHY FlowDeer³",
                "link": "https://ft07.com/why-flowdeer3/",
                "published": "2024-04-09T12:18:33.000Z",
                "description": "我们即将发布FlowDeer的第三个…",
                "content": ""
            }
            ...
        ],
        "only_changed": false
    }
}

只返回有更新的内容(第一次运行时会返回全部RSS列表):

fxd rssFetch --url="https://ft07.com/feed/" --format="json" --onlyChanged="true"

如果上次运行后到现在之间没有更新,会返回一个空的:entries 数组


{
    "feed": {
        "title": "方糖07",
        "link": "https://ft07.com/",
        "description": "分享关于一人企业的一切",
        "language": "zh-CN",
        "generator": "https://wordpress.org/?v=6.5",
        "published": "2024-04-09T16:11:14.000Z",
        "entries": [],
        "changed": false,
        "only_changed": true
    }
}

如果有文章更新,则 entries 数组中将只包含最新的文章:

{
    "feed": {
        "title": "方糖07",
        "link": "https://ft07.com/",
        "description": "分享关于一人企业的一切",
        "language": "zh-CN",
        "generator": "https://wordpress.org/?v=6.5",
        "published": "2024-04-09T16:11:14.000Z",
        "entries": [
            {
                "id": "https://ft07.com/?p=718",
                "title": "FlowDeer³安装指南",
                "link": "https://ft07.com/flowdeer3-installation-guide/",
                "published": "2024-04-09T15:18:44.000Z",
                "description": "安装 预置条件 FlowDeer客户…",
                "content": ""
            }
        ],
        "changed": true,
        "only_changed": true
    }
}

你也可以简单地通过 feed.changed 字段来判断是否有更新。

RSS监测的历史记录保存在 ~/.fxd/db/fxd-app-rss-fetch.json 中,必要时可以手工编辑

将更新推送到微信,请指定sendkey(可到Server酱官网免费申请):

fxd rssFetch --url="https://ft07.com/feed/" --format="json" --onlyChanged="true" --sendkey="SCT1234..."
如果对文章内容有疑问或者有经验分享,请在评论中留言,我们会及时回复。
发表回复