欢迎光临散文网 会员登陆 & 注册

【进阶篇】RSS的世界:Feed43篇(2022.06.02新增内容)

2021-10-11 22:06 作者:Tiergff  | 我要投稿

  上一篇中介绍了RSSHub的使用方法(CV13543035),但还是有些网站RSSHub里没有收录,这个时候可以用Feed43搞定~ 

  说个题外话,我这几天折腾订阅源其实是为了追星……尤其像我这样的追星族,懒的用浏览器打开自己爱豆的官网,结果错过了好多消息…… 关键是……他官网打开很费劲啊!!!加载就得一分钟起步,加载出来的页面……

梦回诺基亚……

  这个页面…… 我的手机和我一起穿越2003……

  废话不多说,先来看看feed43网页:https://node2.feed43.com

  嗯…… 纯英文,不怕,我一会上保姆级教程

https://node2.feed43.com

  就像它上面宣传的一样:I wish all my favorite sites provided RSS feeds.(我希望所有我喜欢的网站都提供RSS源)

  点击粉红色的长按钮(Create your first RSS feed)开始制作~

进入制作页面

  step 1(第一步),将你需要做成RSS源的网址填入

  这里我以墨镜老头Chage的官网为例,这是我需要做成RSS源的网站。

需要做成RSS源的网站
复制网址填进address里

  将墨镜老头的网址填进去后,点击右侧的粉红按钮(Reload)

出来一大串东西……

  这时候我们先看一下一些老头官网上的有用信息

  比如第一条消息,它点开后的网址是https://中间省略……/detail-319.php,然后回到feed43,在那堆绿色的代码里找这个detail-319.php的网址。

  找到了,一般这种内容都会在中间位置,不会出现在开头和结束部分,你看我右边的滑块基本快滑到中间了才到关键内容。

  这里需要讲几句怎么看这个代码。

具体见左侧

  代码都是一段一段的,开头是<英文,结束就是</相同的英文,有时候会一层一层套着,总体来说不难找。

  把有关键信息的这么一段代码复制出来,粘贴到记事本上。

  在这个step 2里面有个小提示,里面有个举例,也一并复制到记事本里面。

关键信息已标出

  现在我们需要将那些关键信息所在的那一行复制出来。

  啥是关键信息呢,一般来说就是新消息的标题,所对应的网址,还有发布时间,消息的类型也能算,具体看你需要多少关键信息吧。

  第一个对勾是消息对应的网址,第二个对勾是消息发布的时间,第三个对勾是消息的标题。

  下面讲用网站给出的例子改写这段代码了,其实就两句话完事,每行末尾加个{*},关键信息换成{%}

先在每行末尾加个{*}

  先加{*},再将关键信息换成{%}

  最后改完的代码见上图最下方,应该能看得懂是咋改的吧…… 加{*}换{%}

  将改好的代码填到Step 2的Item这个框里,然后点击右下角的粉红按钮(Extract)

出来提取结果

  这里发现第一条提取出来的网址不对,莫愁,这时候再回到刚刚的记事本,我们再把代码修改一下。

  把刚刚关键信息网址的上一行也算到有用的部分里,记得在末尾加{*}

  多这么一行后,再点粉红按钮提取一下(Extract)

  这一次的网址,标题,还有时间都没有问题了。

开始Step 3

  将网页往下拉,终于到Step 3了,这一步就是填写一些信息,feed title(订阅源标题)、Feed Link(订阅源地址)、Feed Description(订阅源概述),这三项是自动生成的,一般不改,如果标题太长就像上图那种,可以自己稍微精简一下,比如我就改成了 Chage.jp(Information)……

  需要自己填的是下面的Item title、Item Link、Item Content

  Item title就是刚刚说到的关键信息的消息标题提取出来的信息对应的是{%3}(见上图的顶部,有截图到)。

  Item Link是刚刚说到的关键信息的消息对应的网址,提取出来的信息对应的是{%1}(见上图的顶部,有截图到)。

  Item Content消息的摘要等等,这个网站没有,所以暂时不填,有的话可以填哦

  可能有人会看到我在Item title里填了个{%2}{%3},因为这样是显示的时间+标题。

  比如填写的{%2},{%3},那么就会显示:2020.10.11,RSS的世界

  如填写的{%2} | {%3},那么就会显示:2020.10.11 | RSS的世界

  比如填写的【{%2}】{%3},那么就会显示:【2020.10.11】RSS的世界

  这个填写比较灵活,可以自己随便来,或者只填标题,不要时间,都可以~

  填好后点击右下角的粉红按钮预览(Preview)

完成啦~

  到这一步基本就完成啦,Your feed is ready!

  Feed URL就是我们需要的订阅源网址了,把这个添加到RSS的应用里,就完成咯~

  自动生成的URL是一大串数字,可以自己更改,就是下面的Change file name

  输入自己命名的就搞定啦,比如填入:my_rss,Feed URL就会变成:https://feed43.com/my_rss.xml,自己改一下就比较好记~

可修改订阅源网址


2022.06.02 增加新内容

  一般情况下feed43时抓出来更新的文章,但是我遇到了一个麻烦的网站,它每周一更新两篇文章,但是feed43会把第一页的所有文章都抓出来,结果变成我每周一刷新RSS时,会一口气出来好多文章,其中大部分都是我之前看过的。

  对于这种情况,feed43能不能每次只抓取我需要的那俩篇文章呢?当然可以!

  下面开始教程~

  上面讲怎么填代码的时候,用的是下图的第二个框,Item (repeatable) Search Pattern*

  这次需要用到它上面的 Global Search Pattern (optional) 全局搜索模式(可选)

Global Search Pattern (optional) 全局搜索模式(可选)

  这个全局搜索是给你需要抓取的内容先规定个大概范围,不填写此项默认是全网页抓取。

  先看看这次的代码。

  可以发现代码相当有规律,每一段都是<div class="box-article-item">起,</div>止。

  下面在 Global Search Pattern (optional) 上写大致搜索范围,格式是这种:<h1>Local news:</h1>{%}<h1>

  按着格式要求改成:<div class="box-article-item">{%}</div>{*}

  末尾一定记得加{*},不加抓不出来。

  然后再把下面的Item (repeatable) Search Pattern按上面的教程写好,点击Extract

  嗯!抓出来了!但是……怎么只有一条呢……

  这里要说下,feed43默认按从上到下的顺序抓取,我们这里只填了一个<div class="box-article-item">{%}</div>,所以feed43默认只抓取第一段<div class="box-article-item">的内容,然后停止了。

  解决办法很简单,需要几条就在全局搜索写几条!

  我需要feed43在网站更新时只抓前俩篇文章,所以写两遍即可。

成功!

  最后按着上面的教程,输出RSS,搞定!

  刚改完便急着刷新RSS阅读器会失望的哦,因为feed43做修改不是立刻生效~

  在下次网站更新时,它肯定会按着你新写的规则抓取哒,放心啦~



  Feed43的用法基本算说完了,现在说下Feed43的缺点,它是6小时更新一次,不是说官网更新了啥,它就立刻显示出来,不过这个也算不上啥缺点,一般也不会有啥火急火燎的消息要立刻就看到。然后它每次只提取20条消息,再多的消息就不提取了,我个人觉得20条够看了~

  RSS进阶向基本就没啥了,如果将来需要写【RSS高级篇】会说到用Huginn提取网站内容,这个就更复杂了,会有人用到么……

       

Huginn


【进阶篇】RSS的世界:Feed43篇(2022.06.02新增内容)的评论 (共 条)

分享到微博请遵守国家法律