您在這裡

關於氣象資訊的建立!

MarkC's 的頭像
MarkC 在 2011-08-12 (週五) 16:48 發表

今天看到中央氣象局有個氣象RSS的功能!想到這樣子Drupal是否也能把資料抓過來再處理成為一個網站的小工具呢?所以想跟各位討論討論可行性.........

我先提一下我的想法,不知道是否能在最少使用PHP碼的情況下作出來(當然我還沒做出來啦)!若是觀念或作法不對!也煩請各位大大指正....
我是想法是:利用Feeds模組中的Fast feed功能!把RSS給抓回來成為本地端資料庫(Data table),因為有定期執行Cron(氣象局也6小時才更新一次),若以Cron一小時跑一次,可顯示的內容應該會是最新的才對。
我先建立Fast feed文件,輸入名稱與RSS網址,如
台北市 http://www.cwb.gov.tw/rss/forecast/36_01.xml
新北市 http://www.cwb.gov.tw/rss/forecast/36_04.xml..........把所有縣市給一筆一筆敲入.
執行了幾次Cron後把資料給載回來,在內容管理>Data tables>Fast feed中我可以看到抓下來的資料(如下)...
001
再來做個Views來顯示內容,我選擇的View Type中不是選用內容節點,而是選用最下面的Fast feed(Data table)接下來的Views設定我就不贅述了...
最後我拉出了一個Pape!如下
02
這下問題來了!
1. 沒有地區名!我查了一下網站建置>Feed importers>清單中Fast feed的設定,其中的Mapping!沒有可以對應上我原來Fast feed文件的選擇欄位(我以為Feed node的TITLE可以帶過來!可是沒有),然後我看到了分類兩個字(註:此分類是文件的分類名!)所以我又設定了一個地區的Taxonomy,然後在Mapping中來源端多出了Feed node:Taxonomy:地區 的選項!然後新增的一個資料欄位!再把之前所有Fast Feed的文件指定了地區,然後做Import!唉!更慘的發生了,資料餵不進去!出現了
warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /var/www/includes/database.mysql.inc on line 329.
查了資料庫他也不是NULL!只是空白而已!就給卡住了....不知道各位先進有沒有什麼建議?好指引我?
2. 另外想問的是 因為在內容中?他包涵了溫度 降雨機率...單一數據!要把他分離出來!是不是要利用PHP才能達成了?

只要能把數據取過來就可以了。
用正則表達式取出相應的內容,賦給不同的變量,然後保存為一個內容類型,然後想怎麼用都可以。用views只顯示某些部分也可以

我是把每個地區都設一個Feed!想說到後面可以因feed的不同來做地區區分!可是不如所願...
所以又加了Taxonomy來分!換成沒法寫入資料庫....
不知道有沒有他的作法?