9
本文由云+社区发表

摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式。很多网站上看到RSS的入口,点进去以后总是显示一堆的XML代码,我们来看看怎么使用这个功能。在本次的学习过后你将学会使用RSS来订阅别人的网站,而且你还能学会给不能用RSS网站的创建订阅,比如学校的教务网站发布重要的通知、新闻通知、公司网站通知、包括好看的电视剧更新就都能被你订阅了。

定义

RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据。 Really Simple Syndication“简易信息聚合”就是RSS的英文原意。把新闻标题、摘要(Feed)、内容按照用户的要求,“送”到用户的桌面就是RSS的目的。RSS一词有时候大体上意为社会性书签,包括各种RSS的不同格式。例如,Blogspace对使用网摘于一集成器内之动作标为RSS info和RSS reader。虽然它的第一个句子就包含明确的Atom格式:“RSS和Atom文件能够用简单的格式从网站更新消息至你的计算机!”

特点

  • 可以有选择地浏览您感兴趣的以及与您的工作相关的新闻。
  • 通过使用 RSS,您可以把需要的信息从不需要的信息(兜售信息,垃圾邮件等)中分离出来。
  • 通过使用 RSS,您可以创建自己的新闻频道,并将之发布到因特网。
  • 使用客户端,可以在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。

如何订阅

浏览器方式

这里介绍chrome的扩展程序,其他的浏览器大同小异。

  1. 打开Chrome网上商店,并按装feeder插件

imgChrome网上商店

  1. 安装完成后会自动提示注册一个账号,按照提示注册完成登录即可。
  2. 完成插件安装之后,在浏览博客或者其他网站时,点击RSS订阅图标,就可以正常订阅成功。

imgRSS按钮

img点击订阅

  1. 当有文章更新的时候,就会在浏览器右上角提示,打开后就可以看到全部订阅者了

imgchrome浏览器右上角提示

  1. 可以在

    reader

    看到比较舒服的阅读方式,也可以直接右上角打开文章来看

    img优雅的阅读

  2. 在feeder的设置页面可以针对每个订阅者设置,可以选择刷新周期,提示方式(不过Email提示是要收费的),还可以导出你的订阅让好友来导入

img配置

客户端方式

阅读器推荐

因为我觉得浏览器端的就够我用了,就没用过客户端的,下面是网上摘录的客户端阅读器

  • irreade 最好用,支持多平台。
  • NewsGator Online 一个免费的在线 RSS 阅读器。包含 Outlook 同步,通过 Media Center Edition 查看电视内容,以及 blog 和标题的发布。
  • RssReade 基于 Windows 的免费 RSS 阅读器。支持 RSS versions 0.9x、1.0 以及 2.0 和 Atom 0.1, 0.2 以及 0.3。
  • FeedDemon 基于 Windows 的 RSS 阅读器。使用很简便,界面很有条理。可以免费下载!
  • blogbot 一个针对 Outlook 或 Internet Explorer 的 RSS 阅读器插件。针对 Internet Explorer 的简化版是免费的。

我已经有一个 RSS 阅读器了,接下来怎么做呢?

点击您希望阅读的 RSS feed 旁边的橙色小图标 或 ,把浏览器窗口的 URL 拷贝粘贴到您的 RSS 阅读器即可。

语法

事实上我们根本不用关心RSS的语法是什么,因为多的是自动RSS的工具,如果使用的开源blog通常也会提供RSS自动生成的插件,以下是2.0版本语法

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

<channel>
  <title>pzqu的自言自语</title>
  <link>https://qupzhi.com</link>
  <description>我的描述</description>
  <item>
    <title>如何用RSS订阅?</title>
    <link>https://qupzhi.com/how_to_subscribe_RSS</link>
    <description>摘要.....</description>
  </item>
  <item>...略</item>
</channel>

</rss>

感兴趣的同学可以看看官网,不同的版本语法可能略有差异。

如何让你的网站支持RSS

建议使用一些直接就支持自动生成RSS的开源blog,像WordPress、Blogger、Radio、Hexo,这里提供一个自动给网站生成RSS的方法,有了这种神器以后任何东西你都可以订阅了,比如电影网站,新闻网站,公司网站,学校通知。

  • 注意科学上网 http://www.feed43.com提取HTML中关键内容进入创建页面,输入你想生成RSS的网址,这样可以拿到这个网站的HTML

img输入你想生成RSS的网址

找到内容所在 HTML 字段规律。不同的文章会有相同的代码段落,比如我这里(为了好看我格式化了下)

标题和url

<h1 class="post-title" itemprop="name headline">
    <a class="post-title-link" href="https://qupzhi.com/mariadb-better/" itemprop="url">
        mariadb 内存占用优化
    </a>
</h1>

创建时间

<time title="创建于" itemprop="dateCreated datePublished" datetime="2019-01-09T22:25:00+08:00">
    2019-01-09
</time>

摘要

<div class="post-body" itemprop="articleBody">
    <p>
        摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调优。
    </p>
</div>
  • 我们取到了标题、创建时间、摘要等比较关键的东西

精简提取规则代码

定义规则找到网页中你想要看的项目的列表代码(也就是文章的代码),将你想要的字段用{%}代替为参数,不需要的可以用{*}代替,点击Extract,改到满意为止。

img输入规则

这里的规则让我试到头疼,但是慢慢试就是能试出来的要注意

  • 一行一个规则比较清晰,这个系统也支持
  • 每行结束加一个{*}来忽略规则间不要的东西,如果有空格回车的也加上
  • 一个规则试好了再试另一个规则
  • 可以借助HTML格式化工具

我的匹配结果

img我的匹配结果

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

完善RSS源格式

我们要完善好源格式,才能正确的输出源,在上面的语法那一节我们也说过了,一个完整的源要有网站title,link,description还要有每个文章的tile,link,time,description。

img网站

来看文章的要怎么填

img变量

变化的字段用 {%+数字} 的形式标示出来,也就是上面我的匹配结果里展示的内容,不同的 {%+数字} 之间可以填写随意的文字、符号过渡,如下

img文章

ok的话点Preview就可以生成了

看看结果

img结果

获得你的RSS URL

img我的RSS URL

  • Feed URL就是你的RSS地址了,你可以放在任何地方
  • Edit URL就是以后用来编辑你RSS的页面了
  • 下面可以把这个url的好记一些 好了,这个url放到文章你的rss订阅器里就可以订阅了

img

限制

img

  • 你可以免费使用 Feed43 做 RSS 源
  • 免费版不限制创建多少个rss源但是会有广告,每个源最大只能有250KB,更新后6小时才能刷新一次,最多100篇文章,匹配规则在30个内。
  • 其实大部分都够用了,这个是付费页面

提供RSS

在希望向外界提供 RSS的页面放一个RSS的图标,然后向这个按钮添加一个指向 RSS 文件的链接。代码应该类似这样:

<a href="https://qupzhi.com/atom.xml">
<img src="https://user-gold-cdn.xitu.io/2019/1/11/1683b8918abb8f90?w=36&h=14&f=gif&s=1036" width="36" height="14">
</a>

附Hexo匹配规则

<a class="post-title-link" href="{%}" itemprop="url">{%}</a>{*}
<time title="创建于" itemprop="dateCreated datePublished" datetime="{*}">{%}</time>{*}
<div class="post-body" itemprop="articleBody">{*}<p>{%}</p>{*}</div>

引用

wiki RSS

RSS 教程

使用RSS订阅

自动生成RSS

利用 Feed43,将任意网页制作成 RSS 订阅源 | 一日一技

此文已由作者授权腾讯云+社区在各渠道发布

获取更多新鲜技术干货,可以关注我们腾讯云技术社区-云加社区官方号及知乎机构号


腾讯云开发者
21.9k 声望17.3k 粉丝