康基和 Wunderground 天氣

康基和 Wunderground 天氣

我正在編輯我的問題以進行澄清...對於任何混亂,我深表歉意...Conky 語法已隨最新版本而更改(我假設最新版本 Conky 的用戶已經意識到這一點)。

我的問題得到澄清:

我創建了一個 xml 文件,從 Wunderground.com 獲取天氣資訊。

我更願意找到一種簡單的方法來從 xml 檔案中提取特定資訊以在 Conky 中顯示(包括天氣圖示)。

到目前為止,我發現的大多數資訊都無法滿足我的需要,而且我無法根據我發現的資訊拼湊出自己的解決方案,因為這些資訊似乎不必要地複雜。我希望所使用的方法不需要大量額外的程序和/或腳本體操。

例子:

  1. 我使用“curl -shttp://api.wunderground.com/api/[key]/conditions/q/TX/[mycity].xml-o ~/path/weather.xml" 使用 Wunderground.com 建立我的 xml 檔。

  2. xml 檔案中是目前天氣圖示的路徑(讓我們說:“http://icons.wxug.com/i/c/k/cloudy.gif”)

  3. xml 檔案中是我想要顯示的特定數據,例如當前溫度(xml 檔案顯示 '<'temp_f'>'68.9'<'/temp_f'>'"... 注意:我使用 '<'否則我的帖子將不會顯示標籤)因此,我想採用68.9 並顯示它(或將其舍入為69)。

最後,使用上面的範例,我的 Conky 將顯示一個「多雲」圖示和 69F(或 68.9F)。然後我可以(我希望很容易)以類似的方式提取和顯示其他資訊。

預先感謝您提供的任何幫助。

答案1

第1部分:

為了直接從 web url 中提取訊息,您可以使用以下命令:

curl api.wunderground.com/api/[key]/conditions/q/[state]/[mycity].xml | awk -F'[<|>]' '/<temp_f>/ {print "Current Temperature:"$3"°F"}/<windchill_f>/ {print "Windchill:"$3"°F"}'

……或者,您也可以從下載的 xml 檔案中提取資訊:

curl 'file:///home/path/weather.xml' | awk -F'[<|>]' '/<temp_f>/ {print "Current Temperature:"$3"°F"}/<windchill_f>/ {print "Windchill:"$3"°F"}'

您可以更換

'/<temp_f>/' {print "Current Temperature:"$3"°F"}

與您想要顯示的任何其他標籤和資訊。

第2部分:

為了提取圖示 url 並讓圖示在 Conky 中顯示,您需要將 url 提取到文件中,如下所示:

curl api.wunderground.com/api/[key]/conditions/q/[state]/[mycity].xml | awk -F'[<|>]' '/<icon_url>/ {print $3}' >~/path/image

然後,您需要下載圖標,給它一個通用名稱,然後將其移動到您想要的資料夾:

wget -O weather.gif -i ~/path/image

mv ~/weather.gif ~/path/

使用上述步驟建立一個 sh 腳本(我們稱之為「weather.sh」),並將其放置在您想要的位置。

然後,您可以將命令放置在“.conkyrc”中,如下所示:

${execi 300 sh ~/path/weather.sh}

${image ~/path/weather.gif -p 10,40 -s 32x32}

在“image”指令中,“-p”=影像的位置,“-s”=影像的像素大小。更改座標和大小以滿足您的目的。

這應該比我為 Conky 找到的許多天氣腳本等簡單得多。

相關內容