Конки и Wunderground Погода

1096
Curtis

Я редактирую свой вопрос для уточнения ... Прошу прощения за любую путаницу ... Синтаксис Conky изменился с последней версией (я предположил, что пользователи последней версии Conky знали об этом).

Моя проблема прояснилась:

Я создаю XML-файл, который получает информацию о погоде от Wunderground.com.

Я бы предпочел найти простой способ извлечь конкретную информацию из файла XML для отображения в Conky (включая значок погоды).

Большая часть информации, которую я нашел до сих пор, не делает то, что мне нужно, и я не могу собрать свое собственное решение из того, что я нашел, потому что информация кажется излишне сложной. Я хочу, чтобы используемый метод не требовал много дополнительных программ и / или скриптовой гимнастики.

Пример:

  1. Я использую "curl -s http://api.wunderground.com/api/[key]/conditions/q/TX/[mycity].xml -o ~ / path / weather.xml", чтобы создать мой XML-файл с использованием Wunderground .com.

  2. В файле xml находится путь к значку текущей погоды (скажем, « http://icons.wxug.com/i/c/k/cloudy.gif »).

  3. В xml-файле содержатся конкретные данные, которые я хочу отобразить, например текущая температура (в xml-файлах отображается «<'temp_f'> '68,9' <'/ temp_f'> '" ... Примечание: я использую' <' в противном случае мой пост не будет показывать тег). Поэтому я хотел бы взять 68,9 и отобразить его (или округлить до 69).

В конце, используя приведенный выше пример, мой Conky отобразит иконку «Cloudy» и 69F (или 68.9F). Затем я мог (легко надеюсь) извлечь и отобразить другую информацию аналогичным образом.

Заранее благодарю за любую помощь, которую вы можете предложить.

0
Мы на самом деле не в курсе .... Ramhound 6 лет назад 1
Пожалуйста, уточните вашу конкретную проблему или добавьте дополнительную информацию, чтобы выделить именно то, что вам нужно. Как сейчас написано, трудно сказать точно, что вы спрашиваете. Ramhound 6 лет назад 0
Я нашел ответ на часть моего вопроса. Чтобы извлечь конкретную информацию, которую я хочу, я просто делаю следующее: curl http://api.wunderground.com/api/[key]/conditions/q/TX/[mycity].xml | awk -F '[<|>]' '// // ' Curtis 6 лет назад 0
Теперь мне нужен ответ на другую часть моего вопроса ... как заставить меня отображать значок текущей погоды по URL-адресу, указанному в теге '». URL будет меняться с изменением погоды. Curtis 6 лет назад 0

1 ответ на вопрос

1
Curtis

Часть 1:

Чтобы извлечь информацию непосредственно из веб-адреса, вы должны использовать следующую команду:

curl api.wunderground.com/api/[key]/conditions/q/[state]/[mycity].xml | awk -F'[<|>]' '/<temp_f>/ /<windchill_f>/ ' 

... или, альтернативно, вы можете извлечь информацию из загруженного XML-файла:

curl 'file:///home/path/weather.xml' | awk -F'[<|>]' '/<temp_f>/ /<windchill_f>/ ' 

Вы можете заменить

'/<temp_f>/' 

с любым другим тегом и информацией, которую вы хотите отобразить.

Часть 2:

Чтобы извлечь URL-адрес значка и затем отобразить значок в Conky, необходимо извлечь URL-адрес в файл следующим образом:

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

Затем вам нужно скачать значок, дать ему общее имя, а затем переместить его в нужную папку:

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

Создайте сценарий sh (назовем его «weather.sh») с помощью описанных выше шагов и разместите его там, где вы хотите.

Затем вы должны поместить команды в ваш «.conkyrc» следующим образом:

$  $ 

В команде «image» «-p» = позиция, а «-s» = размер изображения в пикселях. Измените координаты и размер в соответствии с вашими целями.

Это должно быть намного проще, чем многие сценарии погоды и т. Д., Которые я нашел для Conky.

Похожие вопросы