放射線醫學會新聞活動的 RSS Feed

上次刻了一個學會行事曆的 crawler 後,本來就有在想要把學會的新聞活動也做成一個 RSS feed,趁著中秋假期,剛好有個空檔,一樣寫了一個 crawler 把學會的活動包成 RSS feed。

台灣放射線醫學會學會新聞 RSS feed: http://feed.tsai.it/trs/news.rss

因為我之前已經有打包了幾個 rss feed,當時是用 ruby 做的,雖然好像有點久沒碰 ruby 了,但為了簡化架構,還是直接在上面修改。

這次找的 gem 是 Wombat,雖然可動性不高,但勉強夠用,好處是 code 看起來比較乾淨,更有 ruby 味,例如實作的 code 如下:

result = Wombat.crawl do
  base_url "https://www.rsroc.org.tw/"
  path "News/"

  posts 'xpath=//*[@id="page_right"]/table[2]/tr', :iterator do
    title 'xpath=td[1]'
    url 'xpath=td/a/@href'
    date 'xpath=td[2]'
    content 'xpath=td/a', :follow do |c|
      c.html 'xpath=//*[@id="page_right"]/table[2]/tr[3]/td/div', :html
    end
  end
end

這個 feed 放在 Heroku 上, 好處是因為消耗的資源不多,免費的機器就夠用,對 ruby 一些 framework 的 support 很好,deploy 容易,缺點是還沒辦法加 SSL(要上免費的 Let’s encrpyt 要用付費的 Dyno 才有,或許哪天不得已的時候,再搬回自己的 VPS 上吧!


Leave a Reply