Получение курса валют Сбербанка

Опубликовано: 16.01.2019 Автор: Александр

Простое решение для получения текущего актуального значения курса валют с сайта Сбербанка.

Насколько известно, Сбербанк не предоставляет API для получения курсов валют. Получение значений можно сделать путем парсинга страницы, но, как вы понимаете, через неделю они поменяют верстку и парсер отвалится. Нашелся более простой способ получения значений. Пока что работает нормально.

На сайте банка блоки на страницах подгружаются по мере надобности. Это как раз то, что нужно для нас. У них есть блок для отображения валют и данные для него грузятся обычным методом GET:

Вот путь, по которому лежат данные:

https://www.sberbank.ru/portalserver/proxy/?pipe=shortCachePipe&url=http%3A%2F%2Flocalhost%2Frates-web%2FrateService%2Frate%2Fcurrent%3FregionId%3D77%26rateCategory%3Dbase %26currencyCode%3D840

Как видим, передается путь к их локальному методу, который принимает код валюты. В примере это 840, т.е. доллар США.

Результат запроса вот:

Получение курсов валют Сбербанк

Ответ сервера понятен без лишних объяснений. Возможный код на PHP:

Надеюсь данная заметка будет полезна для кого-то.

 

В рубриках: Программирование

Поделиться записью: