Google Reader 的关闭后,到处充斥着 RSS 将死的论调。如今看来并没有想象中的那么惨,许多人依旧喜欢沿用 RSS 作为自己获取信息的方式。 前段时间,少数派 Matrix 进行了一次关于 RSS 的讨论,其中不乏有许多好的观点迸发出来。如果你没有参加,可以阅读 这篇回顾文章 了解。

我喜欢 RSS,但又苦于许多网站不支持,这时候,就要借助可以将任意网站变成 RSS 订阅源的工具,我在用的是 Feed43。

你可能会好奇,它是怎样做到的呢?通俗来说,网站通过后台发布的消息在你的浏览器上显示时,有许多代码段落是重复的。拿少数派来讲,每一篇在首页显示的文章,使用了同一种样式,变化的只是内容。Feed43 通过建立特定的筛选器来过滤复杂的样式,简化成 RSS 订阅源。

所以,利用 Feed43 制作自己的 RSS 订阅源时,你可能需要对网页使用的 HTML 语言有一些基本的了解。不过,你完全不必担心这一点,通过下面的例子,你很容易看明白。

手把手教你制作 RSS 源

我在少数派撰稿,但是并不知道自己的文章会在什么时候被责编发布,于是我就利用我在少数派的个人主页,制作了一个「少数派发表了我的文章」的 RSS 源。一旦我的文章被发布,就会收到提醒。下面,我就以此为实例,来手把手教你制作一个 RSS 源。

1. 打开需要制作 RSS 内容的页面,并在 Feed43 上新建一个 RSS 源。

在这里,我打开的是我的个人主页。因为一旦我的文章被发布,就会在此页面有内容更新。然后 打开 Feed43,点击「Create your own feed」开始创建 RSS 源。

2. 在 Feed43 中加载内容页面,并获取源码。

接下来,将个人中心网址复制下来,并粘贴到 Feed43 的对应选框中。后面的 Encoding 代表网页编码方式,正常情况下留空就行,Feed43 会自动选择。

点击 Reload,你就会在下面的选框中看到当前网页的源代码了。其实这些源代码你也可以通过右键点击相应网页的空白区域,选择「查看网页源代码」来获取。不过,这里我们严格按照 Feed43 的流程来获取。

3. 找到内容所在 HTML 字段规律。

这一步就会接触到 HTML 了,完全不明白 HTML 的朋友也不必担心,你就当作是找规律小游戏。

滚动鼠标找到内容对应的区域,你会发现不同文章对应着相似源码。Feed43 有一点做的比较好,它会自动捕捉一些标记标题的源码,并标识成粉红色。

4. 复制其中的一段源码,留做下一步备用。

这一步就是将相似的源代码复制一段。需要考虑到 3 个小问题

  • 实例中的源码会包含多篇文章,但只需要复制其中一篇文章对应的那一段源码就行。
  • 复制的部分需要通过你所制作的 RSS 来考虑。例如我这次制作的 RSS 可能会包括文章标题、链接、发布时间、摘要等。
  • 需要考虑 HTML 语言的格式。HTML 语言在使用时,标记符号是相互对应的。例如标记标题三是:<h3>标题三</h3>。所以复制时不要丢掉后面的标记符号。下面展示了正确和错误的示例。错误的示例中,丢掉了 </div>

正确示例

错误示例

 最终我复制了一个包含标题、链接、摘要和时间的字段,分别如下所示:

<h3 class="post-title"><a href="https://sspai.com/34188">让输入更高效有趣,Google 出品的 iOS 键盘:Gboard</a></h3>
<a href="https://sspai.com/34188">鉴于 Google 输入法在 Android 上的良好口碑,从 iOS 支持第三方输入法开始,不少人就一直期盼着它什么时候也能登陆 iOS 平台。
终于在昨晚,Google 在 A...</a>
<span class="publish-time">04月26日</span>

5. 将特定的源码字段变成通用源码字段。

这一步将上面复制的源码粘贴到Item (repeatable) Search Pattern」选框中,Global Search Pattern」留空即可。

接下来就是精简源码。将标题、链接,时间等变化的字段删去用 {%} 代替。将固定且多余的字段删去用 {*} 代替注意,源码中有换行的地方均需要添加{*}

如上图所示,源码已经被精简了。点击 Extract,如果左下方显示 » OK (N items found),则代表成功了。看一看抓取到的内容是否有格式错误的地方。如果没有抓取到内容,或者有格式错误,则需要继续仔细调整。这一步需要多尝试几次,就能找到经验了。

如上图所示,每一篇文章的标题、链接、摘要、时间都已经成功抓取了。

6. 完善 RSS 源格式。

接下来,就是完善 RSS 订阅源格式。如下图所示,上半部分主要是填写 RSS 信息,包括名称和描述,相信大家很好理解。我重点介绍下半部分的填写。

回到上一步,你会看到变化的字段用 {%+数字} 的形式标示出来,而这个 {%+数字} 是通用标识符。例如 {%2} 代表了所有文章的标题,{%1} 或 {%3} 代表了所有文章的链接。所以,下面填写时,标题的位置只需要填写 {%2},当然我在后面加了一个发布时间 {%5}。你只需要把这几个通用标识符填写到对于的区域就行,不同的 {%+数字} 之间可以填写随意的文字、符号过渡。

7. 预览并使用。

到了这里,基本上宣布大功告成了。点击 Preview 预览一下,如下方左图所示,预览没有问题。如右图所示,你可以通过页面下方的选项将系统默认的随机地址改成有意义的地址,方便使用。

我的经验和感受

使用 Feed43 最大的好处就是,将那些不支持 RSS 的页面变成 RSS 方便订阅。而一旦有了 RSS 地址你就有了许多适合自己的玩法,比如我将它同 IFTTT 或者 Superfeedr 结合起来,一旦少数派发表了我的文章,我就会立即收到提醒。又比如,学校的教务处网站会以低频率更新一些十分重要的信息,然后你又不可能每天打开关注,制作一个 RSS,更新即提醒。总之,你可以运用 Feed43 关注那些自己关心的内容。

你可以免费使用 Feed43 做 RSS 源,但免费版中包含的每条内容都会包含 Feed43 推广链接,而抓取频率也受到了严格的限制。当然,你也可以在官网上通过 Paypal 购买付费版,体验会好许多。

你可以在 Feed43 官网 了解详情。