Загрузка погоды из Яндекса

Алексей,

//pogoda.yandex.ru/static/cities.xml больше нет, официальное API очень ограничено, виджеты некрасивые, но решение есть - костыли :)

Пример кода как достать погоду с яндекса используя всего пару запросов.

// Получаем ID города через поиск
$url = 'https://suggest-maps.yandex.ru/suggest-geo?callback=jQuery&v=8&lang=ru_RU&search_type=weather&part='.urlencode('Москва');
$getCities = file_get_contents($url);

$getCities = str_replace('jQuery(', '', $getCities);
$getCities = str_replace('])', ']', $getCities);
$arCities = json_decode($getCities, true);

// Получаем погоду найденных городов
foreach($arCities as $arCity) {
	$weatherXml = simplexml_load_file('https://export.yandex.ru/bar/reginfo.xml?region='.$arCity['geoid'].'&lang=ru');
	// Дальше уже обрабатываете полученный xml и выводите погоду
}

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

Для 1С-Битрикс есть готовый модуль, основанный на способе выше http://marketplace.1c-bitrix.ru/abudagov.weather/

Опубликовано 19 Сентября 2019
костыли, seo, готовые модули

Возврат к списку

Комментарии