用 Feed43 制作自己的 RSS 订阅源

4 minute read

最初想自己制作 RSS 订阅源是想要配合 IFTTT 做一些转发以及镜像bot。先发现了Feed43,感觉建一个订阅源很方便,后来发现一些问题,比如:

  1. 刷新间隔时间长

  2. 非常复杂的页面由于无法读取

所以我又自建了RSShub,基本上涵盖了大部分的订阅源需求。Feed43就作为一种补充,但是有一点Feed43非常有用,就是客制化 RSS。有时候会觉得原本的订阅源内容要调整一下,更加适合 IFTTT 抓取。

Feed43制作订阅源很简单,需要了解一些html基本知识,照着页面提示做就不会出错,本文就简单介绍一下。

打开Feed43,点击 create your first RSS feed

Step 1. Specify source page address (URL)

在输入框中输入你想要订阅的页面网址,例如本博客https://tech.notomorrow.club/posts/。点击reload,将显示页面源码,如下:

 1<!-- 省略头部信息 -->
 2<div id="archive">
 3<ul class="post-list">
 4<h2>2022</h2>
 5<li class="post-item">
 6<div class="meta">
 7<time datetime="2022-03-08 22:42:52 &#43;0800 &#43;0800" itemprop="datePublished">2022-03-08</time>
 8</div>
 9<span>
10<a class="" href="https://tech.notomorrow.club/posts/2022030801/"> Hugo 部署的几种方式 </a>
11</span>
12</li>
13<li class="post-item">
14<div class="meta">
15<time datetime="2022-02-24 10:52:01 -0500 EST" itemprop="datePublished">2022-02-24</time>
16</div>
17<span>
18<a class="" href="https://tech.notomorrow.club/posts/2022022401/"> Theme Changelog </a>
19</span>
20</li>
21<li class="post-item">
22<div class="meta">
23<time datetime="2022-02-21 08:53:24 -0500 EST" itemprop="datePublished">2022-02-21</time>
24</div>
25<span>
26<a class="" href="https://tech.notomorrow.club/posts/2022022101/"> Hugo 安装与部署 </a>
27</span>
28</li>
29</ul>
30</div>

Step 2. Define extraction rules

找到其中重复的内容,选取一段复制到下方item (repeatable) Search Pattern中。以上面的内容为例,复制一下内容:

1<li class="post-item">
2<div class="meta">
3<time datetime="2022-03-08 22:42:52 &#43;0800 &#43;0800" itemprop="datePublished">2022-03-08</time>
4</div>
5<span>
6<a class="" href="https://tech.notomorrow.club/posts/2022030801/"> Hugo 部署的几种方式 </a>
7</span>
8</li>

根据定义规则,将其中不需要的部分和换行部分用{*}替代,需要显示的内容用{%}替代,根据上面截取的部分,演示如下:

1<li class="post-item">{*}
2<div class="meta">{*}
3<time datetime="{*}" itemprop="datePublished">{%}</time>{*}
4</div>{*}
5<span>{*}
6<a class="" href="{%}">{%}</a>{*}
7</span>{*}
8</li>{*}

务必将所有独特的值都用规则替代,然后点击Extract,会得到一下内容:

Item 1 <Sun, 13 Mar 2022 14:10:56 GMT>

{%1} = 2022-03-08
{%2} = https://tech.notomorrow.club/posts/2022030801/
{%3} = Hugo 部署的几种方式
Item 2 <Sun, 13 Mar 2022 14:11:21 GMT>

{%1} = 2022-02-24
{%2} = https://tech.notomorrow.club/posts/2022022401/
{%3} = Theme Changelog
Item 3 <Sun, 13 Mar 2022 14:11:20 GMT>

{%1} = 2022-02-21
{%2} = https://tech.notomorrow.club/posts/2022022101/
{%3} = Hugo 安装与部署

Step 3. Define output format

这里就可以自定义订阅源题目,描述以及输出内容。填写订阅内容的格式,根据上面输出的内容,将{%N}填入想要显示的位置。点击Preview,完成。

需要注意的是:

  1. 免费账户的替换标签{*} {%}只有20个,即使升级到付费账户,也只有30个,如果想要订阅的内容标签太多,Feed43可能不太适合。

  2. 完成后Feed43会自动生成一个订阅地址,地址是一串数字,非常难记。如果想要改成简单的地址,可以注册账号,在完成后选择Change file name of this feed

参考


HTML Tutorial