Система Orphus

четверг, 7 мая 2009 г.

Маленький однострочник на баше для получения погоды в консольку (на 3 дня)



wget -q -O - http://wap.gismeteo.ru/26702.wml |\
sed -e '/^<br\/>.*\|<\/\?p>\|<a href.*\|(c).*\|.*wapstart.ru.*\|.*wml.*\|.*?xml.*\|<\/card>/d;s/^.*title="\(.*\)">/\1\n\n/;s/<br\/>//g;s/<img src=.*alt="\(.*\)"\/> <b>\(.*\) .*<\/b>/\1 - \2/g'
Описание:

Чтобы получить погоду на свой город, идем по линку http://wap.gismeteo.ru/, жмем линк "Другие города", дальше находим свой город и смотрим его адрес, для Калининграда это http://wap.gismeteo.ru/wap2/towns/26702.wap2, вот тут нам нужно число, которое стоит перед ".wap2". Запоминаем его и вписываем в скрипт перед ".wml". Все :)


ЗЫЖ-1 Кстати, мой скрипт выводит инфу не на 3 дня, а на 9 кварталов (квартал = 6 часов, т.е. утро, день, вечер, ночь). Ошибся когда писал пост. Просто чтобы получить прогноз на 3 дня, надо еще одну страницу парсить, чего я не стал просто делать.

ЗЫЖ-2 Благодаря блогу Unix way из поста Погода в консоли узнал про хорошую утилитку weatherget написанную на питоне. Погоду она утягивает с http://xoap.weather.com/.
Пример использования:
weatherget -s RSXX0058 -m -e 3
В консольке будет погодка на 3 дня для Калининграда.



UPD: Есть обновочка :)


Похожие статьи

12 коммент.:

Анонимный комментирует... четверг, 7 мая 2009 г. в 16:49:00 GMT+3

супер! спасибо.

Unknown комментирует... четверг, 7 мая 2009 г. в 16:51:00 GMT+3

Не за что :)

Анонимный комментирует... воскресенье, 10 мая 2009 г. в 17:57:00 GMT+3

Большое спасибо!

Unknown комментирует... воскресенье, 10 мая 2009 г. в 18:55:00 GMT+3

Не за что :)

donatt комментирует... понедельник, 11 мая 2009 г. в 20:42:00 GMT+3

А как правильно установить? В редми написано python setup.py install --root=/path/to/root/ я так и сделал.

Unknown комментирует... вторник, 12 мая 2009 г. в 10:58:00 GMT+3

Я этот ридми не читал даже :)
Просто распаковал архив и запусти из него файл weatherget вот и все. Установка ему не нужна, в принципе. Просто если будешь через setup.py ставить, то он еще ман скопирует и т.п.

Судя по "python setup.py install --root=/path/to/root/" думаю надо будет сделать так:
python setup.py install --root=/usr/bin/

Хотя я бы просто скопировал файл weatherget в /usr/bin и все :)

donatt комментирует... среда, 13 мая 2009 г. в 15:15:00 GMT+3

От чего то ожидал письма в inbox... python weatherget и все работает.

Unknown комментирует... среда, 13 мая 2009 г. в 15:20:00 GMT+3

Я о чем и говорю :)
Можно даже не писать python перед weatherget, а просто weatherget, для этого надо права соответствующие для файла weatherget поставить:
# chmod 755 weatherget

DOMr комментирует... пятница, 15 мая 2009 г. в 08:53:00 GMT+3

Благодарю!
Скрипт занял почётное место в /usr/bin :)

Unknown комментирует... пятница, 15 мая 2009 г. в 10:35:00 GMT+3

Спасибо, очень приятно :)
Правда я свои скрипты держу в ~/bin/ :)

Анонимный комментирует... среда, 19 мая 2010 г. в 18:44:00 GMT+3

у меня почему то пишет: (
Traceback (most recent call last):
File "/usr/bin/weatherget", line 648, in
temp_units = head().ut()[0].strip()
File "/usr/bin/weatherget", line 331, in __init__
self.head = tag_contents('head', forecast().forecast)[0]
IndexError: list index out of range

Unknown комментирует... четверг, 20 мая 2010 г. в 11:06:00 GMT+3

Сейчас попробовал, тоже самое :(
Пробовал качать версии 0.4.0.1, 0.4 и 0.3.2. Одно и тоже.

Видать скрипт с Python 2.6 не совместим. Что скорее всего, т.к. последняя версия датирована 2007-м годом.

Отправить комментарий