星期二, 11月 09, 2010

xml2

今天把 conky 裝起來,然後參考了 To-Dos, Weather, and Twitter on a Linux Desktop 來改,不過,文章裡用的是英國BBC氣象資料,也搞不清楚地區代碼是哪個,所以就乾脆去看中央氣象局的網站,看有沒有資料可以直接撈。

現在中央氣象局網站做的不錯,已經有提供 RSS 了,所以就拿 RSS 來 parse。可是,你知道 RSS 其實是 XML,要parse XML總是麻煩,想在一行之內做完,看來是不太可能。

就想說找一下,看有沒有現成的工具可以用,就用 apt-cache search xml 來找。找的結果,發現有個 xml2 的套件,說明說是 Convert between XML, HTML, CSV and a line-oriented format,應該是合用,就裝上試試看了。

xml2 就很簡單把 xml 轉成文字檔,結果大致是這樣 tag1/tag2/tag3...=node value
所以接著就可以用 awk 開刀了:

curl -s --connect-timeout 30 "http://www.cwb.gov.tw/rss/forcast/36_04.xml" | xml2 | awk -F '=' '/^\/rss\/channel\/item\/title/{print $2;}'


這樣,就可以得到目前的天氣了。用bash真的是很好處理東西~

沒有留言: