2007/10/17

2009 台北聽障奧運志工新聞 Feed,跟 Feed43

聽奧的志工網站搬家了,所以我做了新的資料來源:用 Feed43 做的。

數天前想把一些打死不提供 RSS 的 Blog 及網站放進 Google Reader,但 Dapper.net 好死不死在我的機器上會狂出問題,不得已只好再尋找其他的工具,沒想到找到(對看得懂 HTML 的人來說)更精準的 Feed43.com。一開始進去可能會有看沒懂,不過其實相當容易。以下我沒有想要好好解釋清楚所有東西,只是提供給懂 HTML 及程式概念的人方便入門:

  1. 首先,進去首頁以後先按畫面中央的「Create your own feed」
  2. 勾選同意使用條約,繼續進行
  3. 接下來是建立一個資料來源的正式步驟,我這邊用聽奧的志工網站當範例:
    1. Address 填入網站網址(http://t2009.npo.org.tw/),按下後方的「Reload」鈕(Encoding 會自動判別,當然你也可以自己輸入)
    2. 接著會出現 Page Source,我覺得你不如用 Firefox 的檢視原始碼功能比較容易看。
    3. 在 Step2 的地方要定義 parsing pattern,在聽奧志工網的例子裡,就是在問你「包覆重複區域的範圍,在哪裡呢?」我們檢視原始碼之後發現,以整份文件來看可找出這樣的結構:

      (...前略...)
      <td width="658" valign="top">
      
                              <table border="0" width="98%" cellspacing="0" cellpadding="0" bordercolor="#FFFFFF">
                                 <!--  最新訊息   -->
                                <tr>
                      <td><img border="0" src="images/main-icon_1.gif" width="425" height="60"></td>
                    </tr>
                                <tr>
                      <td>
                        <table border="0" width="100%" cellspacing="1" cellpadding="3">
                                    
                          <tr>
      
                        <td width="22" align="center" valign="top"><img border="0" src="images/deaflympics_19.gif" width="14" height="14"></td>
                        <td><a href="content/news.asp?ser_no=212"> 志工服務機會-96/10/27-28迎新暨綜合訓練活動</a> <span class="Regdate">2007/10/15</span></td>
                      </tr>
      (...中略,類似第一項的重複新聞區段...)
                      </tr>
                            
                        </table>
                      </td>
      (...後略...)

      重複區域就包括在整份文件第一次出現的<td width="658" valign="top">隨後第一次出現的</table>之間,所以這格是填上「<td width="658" valign="top">{%}</table>」,代表「這兩段程式碼之間的東西,才需要交給 Item Search Pattern 處理」。

    4. 接下來處理 Item Search Pattern,我們只需要考慮從 Global Search Pattern 哪裡丟過來的程式就行了。在程式區段裡,我們要取出新聞網址及標題;剛巧,這其實代表「這個區段裡每個連結我都要」,那就很簡單了。此處填上「href="{%}"{*}>{%}</a>」,代表
      1. 我需要的第一份資料,就在每個『href="』之後、到另一個『"』之間;
      2. 隨後、直到『>』之前出現的東西都不理它;
      3. 第二份需要的資料,則在剛剛那個『>』之後、到『</a>』之間
      也就是說,{%}代表「要取得的資料」,{*} 代表「要忽略的資料」。之所以在 href=" {%}"> 之間要加上{*},是怕以後會出現 <a href="bob" class="abc">bob</a> 這類的東西,先用這種方法把 class 那堆屬性都忽略掉。接著按下「Extract」
    5. 然後下面會出現你所取得的資料,就目前的志工網來說,你應該會抓到 12 個 item。每個 item 都有 網址 {%1} 跟標題 {%2}。一切無誤的話就可以跳下個步驟。
    6. RSS feed properties 處已經先填好了一些東西,預覽時中文字元會變成亂碼所以標題跟描述我都打英文。
    7. RSS item properties 裡,Title 的地方填標題的「{%2}」、Link 的地方填連結的「{%1}」。按下 Preview 看看...
  4. 接下來,你還可以選擇更動名稱或是建立帳號(以便日後修改)等等的,就看你了

剛建好的資料來源,丟給 Google Reader 時有時會吃不到... 隔天再弄通常就行了。

ㄟ?我本來只是想小提一下 Feed43,怎麼變成教學了?...

1 則留言:

  1. 在網路上搜尋了好幾偏feed43教學都沒看懂,
    但看了你的文章後,
    終於學會自行訂閱網路書店的66折資訊,
    這樣就不用每天一家一家去翻啦~

    太感謝了>w<

    回覆刪除

歡迎留下您的意見