取得全文 Greasemonkey scripts
RSS 放全文還是摘要,討論一直沒有停過。我當然最鼓勵大家用全文,但無可奈何地仍然有得多地方仍然是用摘要的,例如香港雅虎新聞的 RSS。最近在研究 Gresemonkey,小試牛刀寫了個 script 來弄個在 Google Reader 內取得全文的 script。
你必需:
- 使用 Firefox
- 已安裝 Greasemonkey 插件
- 使用 Google Reader
安裝
用法
在 Google Reader 單篇全開的時候,如遇上網址是 Yahoo! News 或 MySinaBlog 的文章時,按 ‘g’ 會自動取得全文。
原理與修改
原理很簡單,按 ‘g’ 時會自動偵測網址是否被支援,如果是的話就會先用 greasemonkey 的內建 GM_xmlhttprequest 取得全文,再經 siteParser 取得主要內容,然後貼在 Google Reader 該 entry 內容上。
因為每個網頁結構都不一樣,所以沒有全面的方案,必需為個別網址「拆」內容出來。如果熟悉 Javascript,可以自行修改 Script 裏的 siteParser,預設的是:
JavaScript:
- var siteParser = {
- “hk.rd.yahoo.com”: function(syhidden, text){
- text = text.replace(“id=\”ynstory\”“,“id=\”hk-rd-yahoo-com-ynstory\”“); //just to prevent collision in id.
- syhidden.innerHTML = text;
- var story = document.getElementById(“hk-rd-yahoo-com-ynstory”);
- stripTagsFromNode(story,[“table”,“script”]);
- return story.innerHTML;
- },
- “mysinablog.com”: function(syhidden, text){
- text = text.replace(“class=\”post_content\”“,“class=\”post_content\” id=\”mysinablog-com-post-content\”“); //add id for easy retrieval
- syhidden.innerHTML = text;
- var content = document.getElementById(“mysinablog-com-post-content”);
- stripTagsFromNode(content,[“script”]);
- return content.innerHTML;
- }
- };
- Object key (如 ‘hk.rd.yahoo.com’) – 用以分辨網址,必需是 unique。
- Ojbect: function(syhidden, text)
- syhidden 是一隱藏的空白 div,用來方便「拆」內容
- text 就是該 entry link 的全張網頁內容
- return 將會代替該 entry 內容的 HTML
- stripTagsFromNode 用來除去 node 內的 tags 的 Helper function
限制
如果該 RSS 用 feedburner 燒過的話,因為不能從網址辨認,所以也不會有取全文功能。
後記
此 scripts 的靈感源自於 Google Reader Quick Links 。歡迎大家試用和提供意見!
更新
- 2007-05-30 加入了幾個自己常去的網站:blog.xuite.net, blog.yam.com, zonaeuropa.com, 小奧、hang、Mr6 的 feedburner…
- 2007-06-01 加入 Y!blog HK 和 roodo
- 2007-07-10 加入了案內人隨筆,他是全文的,但排版難看所以加了
- 2007-07-11 加入了 Hompy, wretch.cc
- 2007-10-28 將 scripts 移到 google code


呢個正喎,可唔可以整個比bloglines用呢?因為我唔鍾意用google reader,佢太樣衰lu.
發表於 25-May-07 12:17 pm | 永久連結
真係造福萬民! 請受小弟一拜!
發表於 25-May-07 7:42 pm | 永久連結
更新了~
我又一拜~~~ o
發表於 30-May-07 4:35 pm | 永久連結
有新的版本太好了。
發表於 30-May-07 7:13 pm | 永久連結
能否加入使用了 tag 的 WordPress.com blog 呢?
發表於 06-Jun-07 4:24 pm | 永久連結
[…] 的 RSS 圖片問題又引來一些聲音,因此我快速地將原本用在 Google Reader 的 取全文 Greasemonkey Scripts Port 了一個 Bloglines […]
發表於 11-Jul-07 12:13 am | 永久連結
失效了!
在twitter 問過大家, 大雄跟cow 都說已用不到,
特此通知. (我們都是用greader 的)
發表於 05-Apr-08 1:12 am | 永久連結
已修正,請到 http://rssget.googlecode.com/ 更新
發表於 05-Apr-08 2:25 pm | 永久連結