明確にするために質問を編集しています... 混乱を招いてしまい申し訳ありません... Conky の構文は最新バージョンで変更されました (最新バージョンの Conky のユーザーはそれを認識していると思います)。
私の問題が明確になりました:
Wunderground.com から天気情報を取得する xml ファイルを作成します。
Conky に表示するために、xml ファイルから特定の情報 (天気アイコンを含む) を抽出する簡単な方法を見つけたいと思います。
これまでに見つけた情報のほとんどは、必要な機能を果たしません。また、情報が不必要に複雑に思えるため、見つけた情報から独自のソリューションをまとめることができません。使用する方法では、余分なプログラムやスクリプトの複雑な操作をあまり必要としないことを望みます。
例:
私は「curl -shttp://api.wunderground.com/api/[キー]/conditions/q/TX/[私の都市].xml-o ~/path/weather.xml" を実行して、Wunderground.com を使用して xml ファイルを作成します。
xmlファイル内には、現在の天気のアイコンへのパスがあります(「http://icons.wxug.com/i/c/k/cloudy.gif)
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 用に見つけた多くの天気予報スクリプトなどよりもはるかに簡単なはずです。