本文由雲+社區發表 摘要:我們常常會有訂閱別人文章的需求,有更新的時候希望能有提醒的功能,RSS就是這樣一個訂閱的方式。很多網站上看到RSS的入口,點進去以後總是顯示一堆的XML代碼,我們來看看怎麼使用這個功能。在本次的學習過後你將學會使用RSS來訂閱別人的網站,而且你還能學會給不能用RSS網站的創 ...
本文由雲+社區發表
摘要:我們常常會有訂閱別人文章的需求,有更新的時候希望能有提醒的功能,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>
引用
利用 Feed43,將任意網頁製作成 RSS 訂閱源 | 一日一技
此文已由作者授權騰訊雲+社區在各渠道發佈
獲取更多新鮮技術乾貨,可以關註我們騰訊雲技術社區-雲加社區官方號及知乎機構號