2013年7月2日 星期二

Geektool ~Weather顯示

2013.11.06 update
更新GeekTool.
http://projects.tynsoe.org/en/geektool/

看起來是因為雅虎天氣的介面改了,
所以天氣的圖不見了.
更新了Geektool, 然後再去皮樂大大的網站下載他修改過後的Geeklets.

http://download.hiraku.tw/Mac/Geeklets_new_icon.zip
http://iphone4.tw/forums/showthread.php?t=206413



有大概看了一下天氣的部份,感覺他就是一樣去解析網站,
然後把要的訊息抓出來.
但是因為太笨來....還是看不懂語法..=.=


因為某一天,突然之前弄的Geektool 弄的天氣Shell不見了,原因不明,
但是總覺得桌面少了東西很奇怪,
今天心血來潮決定研究一下到底要怎麼把它弄回來.
運氣很好看到了底下的網站:
http://applenewsblog.blogspot.fr/2012/05/get-your-desktop-ready-for-summertime.html
網站還有附影片,基本上就是照這做就可以了,
在這邊做個記錄吧.

Geektool weather 設定內容

有發現大致上的原則就是:
如果是要擷取訊息的話就是新增Shell, 
要放圖片的話就是放Image.
詳細內容的話因為程式很苦手,
就不裡他了.

GetWeatherImage:(底下這串是已經設定成為台北了)


curl --silent "http://weather.yahoo.com/taiwan/taipei-city/taipei-city-2306179/" | grep "current-weather" | sed "s/.*background\:url(\'\(.*\)\') .*/\1/" | xargs curl --silent -o /tmp/weather1.png\

ShowWeatherImage:


file://localhost/tmp/weather1.png

Get Forecast:(尋找地方天氣代碼:www.weather.com)


curl --silent "http://xml.weather.yahoo.com/forecastrss?p=TW00021&u=f" | grep -E '(Current Conditions:|F<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//'

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=TWXX0021&u=f" | grep -E '(High:)' | sed -e 's/<BR \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<br \/>//'

GetWeather Information:(要以這個才有辦法讀到高低溫)


curl -o /tmp/weather.html "weather.yahooapis.com/forecastrss?p=TWXX0021&u=c"

High Temp:


curl --silent file:///tmp/weather.html|grep "yweather:forecast" | { read a;echo "$a"; } | awk 'BEGIN { FS = "\"" }{ print $8 "°"}'|sed 's/^/&H/'

Low Temp:


curl --silent file:///tmp/weather.html|grep "yweather:forecast" | { read a;echo "$a"; } | awk 'BEGIN { FS = "\"" }{ print $6 "°"}'|sed 's/^/&L/'

Time:


date +%l:%M

Date: (%A = Day, %B = Month, %d = Date)


date +"%A %B %d"

GetWeatherIcon:(要有這個才有辦法抓到Location)

curl -o /tmp/weather_icon.html http://weather.yahoo.com/forecast/TWXX0021.html;curl -o /tmp/currenttemp.png  `grep "100567.png" /tmp/weather_icon.html | awk -F"'" '{ printf $2 }'`

Location:

curl --silent file:///tmp/weather_icon.html|grep "<title>"| awk '{ print $1 " " $2 }'|sed -e 's/<title>//' | tr '[a-z]' '[A-Z]'








沒有留言:

張貼留言