Никита Лихачёв
3 513

Программист сделал топ гифок из ВКонтакте

Вдохновившись западным аналогом Gifhell.com, анализирующим популярные гифки в Твиттере, программист Дмитрий Перепелица сделал свой топ на основе API «ВКонтакте».

В понедельник 26 августа запустился новый проект Gifhell (гифочный ад). Программист Адам Венц разработал алгоритм, ищущий в потоке всех сообщений Твиттера упоминания файлов с расширением .gif, считающий их популярность и формирующий топ на основе числа ссылок на файл.


Гифка, возглавляющая топ русского Gifhell по состоянию на 27 августа

Уже на следующий день появилась русская копия Gifhell, выполненная в таком же минималистичном дизайне. В отличие от популярных для западного Твиттера гифок с One Direction, Джастином Бибером и обнажённой Гагой, в российском аналоге в топе находятся картинки с зигами, киноактёрами и психоделическими котами, то есть они менее привязаны к новостным поводам.

TJournal поговорил с создателем проекта Дмитрием Перепелицей, так быстро отреагировавшим на западный тренд. Как пишет автор проекта, вдохновение пришло к нему после прочтения статьи на сайте W-O-S, где рассказывается об оригинальном проекте Gifhell.

Дмитрий Перепелица: Идея честно подсмотрена у gifhell.com, о котором я прочитал на W-O-S. Подумал, раз собирают в Твиттере гифки, почему бы не собрать их с VK.

Проект работает очень просто: непрерывно обращаюсь к методу newsfeed.search с запросом has:doc. Отсеивается всё, кроме файлов с разрешением .gif. В базу данных заношу хэш файла (md5) и путь к анимации. Если при последующих запросах встречается анимация с таким же хэшем, просто увеличиваю счётчик.

Планов по проекту пока никаких. На его реализацию я потратил порядка 2-3 часов. Проект вполне себе может стать достоянием общественности. Если у кого-то будут идеи по развитию проекта, я только за.

А топ выстраивается вообще за всё время или только за какой-то определённый период, например, последние 24 часа?

На главной странице только те гифки, которые были обнаружены сегодня впервые. Сортировка идёт по количеству упоминаний. На странице «за все время», соответственно, гифки за все время.

Чем ты занимался до Gifhell?

До недавнего времени я занимался проектом likez.ru, но ввиду нехватки ресурсов и команды, работа над проектом временно прекращена.

Зачем ты вообще сделал этот проект?

Just for fun :-)

Нужно больше лулзов,
Никита Лихачёв,
TJournal

#Статья

Статьи по теме
36 лучших GIF Железного человека, или почему Тони Старк лучше всех
Создатель формата GIF считает правильным произношение «джиф»
Анимированные GIF украсят колеса велосипедов
50 лучших GIF из «Игры престолов»
{ "author_name": "Никита Лихачёв", "author_type": "self", "tags": ["\u0441\u0442\u0430\u0442\u044c\u044f"], "comments": 3, "likes": 12, "favorites": 0, "is_advertisement": false, "section_name": "default", "id": "47772", "is_wide": "1" }
Популярные материалы
Показать еще
{ "is_needs_advanced_access": true }

Популярные комментарии

Дискуссии по теме
доступны только владельцам клубного аккаунта

Купить за 75₽
Авторизоваться

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность писать комментарии и статьи
  • общение с членами клуба
Подробнее

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность читать и писать комментарии
  • общение с членами клуба
  • возможность создавать записи

Сколько это стоит?

Членство в клубе стоит всего 75₽ в месяц. Или даже дешевле при оплате за год.

Что такое клуб?

Клуб ТЖ это сообщество единомышленников. Мы любим читать новости, любим писать статьи, любим общаться друг с другом.

Вступить в клуб

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Вы не против подписаться на важные новости от TJ?

Нет, не против
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]