本文由云 + 社区发表
摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,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 的扩展程序,其他的浏览器大同小异。
打开 Chrome 网上商店, 并按装 feeder 插件
Chrome 网上商店
安装完成后会自动提示注册一个账号,按照提示注册完成登录即可。
完成插件安装之后,在浏览博客或者其他网站时,点击 RSS 订阅图标,就可以正常订阅成功。
RSS 按钮
点击订阅
当有文章更新的时候,就会在浏览器右上角提示, 打开后就可以看到全部订阅者了
chrome 浏览器右上角提示
可以在 reader
看到比较舒服的阅读方式,也可以直接右上角打开文章来看
优雅的阅读
在 feeder 的设置页面可以针对每个订阅者设置, 可以选择刷新周期,提示方式(不过 Email 提示是要收费的),还可以导出你的订阅让好友来导入
配置
客户端方式
阅读器推荐
因为我觉得浏览器端的就够我用了,就没用过客户端的,下面是网上摘录的客户端阅读器
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
输入你想生成 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,改到满意为止。
输入规则
这里的规则让我试到头疼,但是慢慢试就是能试出来的要注意
一行一个规则比较清晰,这个系统也支持
每行结束加一个 {*} 来忽略规则间不要的东西,如果有空格回车的也加上
一个规则试好了再试另一个规则
可以借助 HTML 格式化工具
我的匹配结果
我的匹配结果
如上图所示,每一篇文章的标题、链接、摘要、时间都已经成功抓取了。
完善 RSS 源格式
我们要完善好源格式,才能正确的输出源,在上面的语法那一节我们也说过了,一个完整的源要有网站 title,link,description 还要有每个文章的 tile,link,time,description。
网站
来看文章的要怎么填
变量
变化的字段用 {%+ 数字} 的形式标示出来, 也就是上面我的匹配结果里展示的内容,不同的 {%+ 数字} 之间可以填写随意的文字、符号过渡,如下
文章
ok 的话点 Preview 就可以生成了
看看结果
结果
获得你的 RSS URL
我的 RSS URL
Feed URL 就是你的 RSS 地址了,你可以放在任何地方
Edit URL 就是以后用来编辑你 RSS 的页面了
下面可以把这个 url 的好记一些 好了,这个 url 放到文章你的 rss 订阅器里就可以订阅了
限制
你可以免费使用 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 订阅源 | 一日一技
此文已由作者授权腾讯云 + 社区在各渠道发布
获取更多新鲜技术干货,可以关注我们腾讯云技术社区 - 云加社区官方号及知乎机构号