И снова о погоде

Буквально недавно писал про новые источники данных для погодного транспорта. Там, в том числе, жаловался на gismeteo.ua и отсутствие у них XML-странички – аналога того, что есть на gismeteo.ru. Сегодня полез в гугл поискать что-нибудь еще на эту тему – а ведь встречается в сети полный аналог ссылки (за исключением ru->ua). Встречался лет 10 назад – примерно тогда же были жалобы на нерабочий линк с gismeteo.ru и в качестве примера его меняли на gismeteo.ua. На ru, как выяснилось, были какие-то работы и потом все нормализовалось – а на ua вроде отключили функцию.

В общем. Помнится мне, на ранних этапах сбора базы для транспорта я вроде как пробовал ua-линк. И он не работал. И вот сегодня, найдя живое подтверждение тому, что полный аналог линка на XML-выдачу хоть когда-то существовал, проверил его снова. И ведь работает! Не знаю, может моя беседа с gismeteo.ua поспособствовала, а может какие-то другие факторы. Но сейчас данные можно забирать по ссылкам вида http://informer.gismeteo.ua/xml/33345_1.xml. Без проксей и VPN’ов.

А еще в процессе тех же поисков нашел RSS-ленты для gismeteo.ru, которая вроде нигде не афишируется на сайте (или я плохо искал) – http://informer.gismeteo.ru/rss/33345.xml – и, в том числе, аналогичная ссылка для UA-сайта. А самое забавное, что в UA-выдаче ленты отдается “GISMETEO.RU: Погода в России” – ну и тому подобное такого же плана. Похоже, весь informer.gismeteo.ua без заморочек просто проксируется на gismeteo.ru, т.е., самостоятельно работать не способен.

В целом, ключевые моменты во всем этом:

  • Даже если они просто проксируют запросы – ок, теперь хотя бы можно для обычного пользователя сделать замену местами недоступного ru-домена на аналог ua.
  • Есть RSS – как для ru, так и для ua-сайта, может пригодиться. Т.е., gismeteo можно разбирать как через код плагина для бота, так и через то, что было написано для meteonova. В RSS-версии, правда, немного меньше данных.
  • Раньше считал, что на UA-версии больше населенных пунктов по Украине. Как оказалось – нет, тот же пункт, который меня интересовал, есть и на RU-сайте, я просто не догадался глянуть его в поиске.
  • Код населенного пункта в существующей у меня базе не числится. Код из адресной строки не подходит (как и для других городов – там какая-то своя нумерация). Вопрос, а есть ли в XML-выдаче вообще этот город? Если да – возможно, просто база устарела и нужна новая версия. Сами вряд ли дадут, остается перебор. Код с Meteonova не подходит.
  • И вот буквально только что решил наугад попробовать адреса вида https://www.meteonova.ru/xml/33345.xml – а ведь тоже что-то отдает. Буду копать этот момент подробнее.
    • В общем, да, ссылка на такой XML тоже работает. “Что-то отдает” было из-за виндового переноса строк. Если сделать  wget -qO- http://meteonova.ru/xml/33345.xml | iconv -f cp1251 | sed 's/^M/\n/g' – то все отдается как надо. Точно тот же формат, что используется для gismeteo.ru, только виндовая кодировка и переносы строк. Бонусом – более длинный прогноз.
    • https://www.vb-net.com/Meteonova/Index.htm – тут есть пример аналогичного gismeteo XML’а, но с авторизацией. Ссылки вида http://userdata.meteonova.ru/xml3/33345.xml

Добавить комментарий