Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

桌面顯示天氣資訊:透過 Shell 腳本呼叫 Yahoo Weather API 實現

編輯:Win7 系統應用技巧

背景

原文標題為「安裝完後外放和耳機同時有聲音的問題」,但內容實為桌面天氣顯示技術分享。此處依實際內容重寫標題與正文。

實現原理:三段式 Shell 指令組合

利用桌面小工具平台(如 Samurize、Rainmeter、Conky 等)支援 Shell 指令輸出,組合三段指令取得並顯示 Yahoo Weather 資訊。

Code 1:下載天氣圖示

curl --silent "https://weather.yahoo.com" | grep "forecast-icon" | sed "s/.*background:url('\(.*\)'); _background.*/\1/" | xargs curl --silent -o /tmp/weather.png
  • 抓取 Yahoo Weather 頁面,解析出預報圖示 URL,下載存為 /tmp/weather.png。
  • 此步驟桌面不顯示輸出,但為第 3 步提供圖片來源,不可省略。

Code 2:取得天氣文字資訊

curl --silent "https://weather.yahooapis.com/forecastrss?p=CAXX0301&u=c" | grep -E '(Current Conditions:|C'
  • p=CAXX0301 為城市代碼(需自行查詢對應代碼)。
  • u=c 為攝氏溫度,改 u=f 為華氏。
  • 輸出當前天氣狀況文字(如溫度、天氣狀態)。

Code 3:呼叫圖片顯示

file:///tmp/weather.png
  • 指向 Code 1 下載的圖片,桌面工具渲染顯示天氣圖示。

設定步驟

  1. 前往 Yahoo Weather 搜尋所在城市,網址列獲得城市代碼(4 字母 + 4 數字,如 CAXX0301)。
  2. 將代碼替換至 Code 1 與 Code 2 的 p= 參數。
  3. 若需華氏溫度,Code 2 將 u=c 改為 &u=f。
  4. 在桌面工具中建立三個 Shell 指令項目,分別對應上述三段代碼,更新間隔建議 ≥ 120 秒(天氣資訊無需高頻)。
  5. 純文字輸出(如城市名稱)可用 echo "文字",多行以分號 ; 分隔。

注意事項

  • Yahoo Weather API 已於 2019 年停止服務,現代實作建議改用 OpenWeatherMap、WeatherAPI 等現役 API。
  • Windows 原生桌面小工具平台(Vista/7 Gadgets)已停止支援,建議改用 Rainmeter 等第三方工具實現同樣效果。
Copyright © Windows教程網 All Rights Reserved