Insta#ULSK

InstaULSK Best

Всем привет!
На днях решил немного поразбираться в API Instagram и заодно что-нибудь спарсить (да да, любимая тема). Очень мне захотелось получить статистику по популярному в Ульяновске хэштегу #ulsk. Захотелось увидеть выборки самых-самых фотографий. Сказано - сделано.
Дизайнер я, сами знаете, никакой и поэтому над дизайном сервиса даже не задумывался. Времени свободного также особо нет и поэтому выкатил я пока еще сыроватый, но вполне рабочий сервис. На некоторый функционал не хватило времени, а кое-что делать просто поленился.
Пост я поделил на две части - краткое описание технической части и краткое описание функционала.

Что под капотом?

Сердцем сервиса является класс Instagram-PHP-API который пришлось немного расширить для необходимого функционала. Здесь можно сказать пару слов об ограничениях API - не более 5000 запросов в час с одного client ID и лимит в 33 фотографии при запросе обновлений по хэштегу. Первая проблема обходится выставлением “нежадных” лимитов у себя в приложении, а второе обходится постраничным обходом с получением по 33 поста за раз.
В качестве ORM я взял простой и довольно удобный - idiorm.
Для конфигов взял прекрасный инструмент phpdotenv.
А также мне понадобился простейший роутер, который я позаимствовал вот здесь - klein.php.
Естественно все это дело управляется через composer и устанавливается одной командой.

Ну а дальше все просто - отдельный скрипт запускается по расписанию и получает необходимые данные складывая их в MySQL, а пользователи же видят веб-морду которая общается с базой.

Выборка по месяцам

Кстати, если вы желаете поразбираться с API Instagram, то в этом деле вам поможет API-консоль предоставленная сервисом “АПИгей” APIgee

Что умеет?

InstaULSK TOP day

На главной странице сервиса нас встречает ТОП-10 постов за сутки по хэштегу #ulsk. Сортируются они по лайкам. Также есть отдельная страничка с ТОП-10 за неделю, а также best of the best где мы видим 10 постов с максимальным количеством лайков за все времена. Она кстати говоря разбита на странички и есть возможность посмотреть хоть ТОП-20, хоть ТОП-1000.
Есть также страничка с самыми непопулярными постами (с нулевым количеством лайков). Сделал ее с надеждой на то что кто-нибудь поддержит эти незамеченные посты =)

Особенно мне понравилась выборка самых старых постов самые первые из которых сделаны пользователем cyberdim еще в далеком 2011 году. Листая страницу за страницей можно смотреть как менялась атмосфера в ульяновском инста и как росла скорость постинга в геометрической прогрессии. Сейчас десять тысяч постов за месяц не проблема, в то время как в 2011 их было всего 2 в месяц =)

InstaULSK users

Отдельным особняком стоит страничка со списком пользователей которые хотя бы один раз что-то постили с хэштегом #ulsk. Таких пользователей набралось около 5000. Список отсортирован по количеству фолловеров, также рядом с цифрами отображается прогресс по сравнению со вчерашним днем. Очень забавно наблюдать аккаунты ведомые ботами которые за день могут отписаться от 2500 тысяч пользователей =) Больше пока никаких выборок не делал, но если у вас вдруг есть какие то интересные идеи то пишите - реализую.