Конкурсы в Инстаграм на стероидах #01
С нами связалась СММ команда предпринимателя и инвестора Vitaliy Rizhkov'а что бы сделать экспорт из Инстаграм для проведения их конкурса. Очень частый, но тем не менее сложный формат конкурса не позволял им просто полистать список и тыкнуть пальцем в случайного победителя, им нужно было выгрузить подписчиков из 6 страниц, людей которые лайкнули 6 постов и оставили на них комментарий с упоминанием 3 пользователей из Инстаграм.
Оригинальная ссылка на пост здесь. Дабы не усложнять статью большим количеством формул и скриншотов, мы покажем как скачать комментарии из 6 постов, найти там те, в которых содержаться 3 и более упоминаний пользователей, отобрать уникальные, удалить ответы администраторов страниц и все.
1. Поехали. Экспорт данных
Сперва мы выгрузили комментарии всех шести постов из Инстаграм с помощью нашего сервиса для выгрузки данных - Экспорт Ниндзя. Результатом выгрузки стали 6 документов Google Sheets:
После мы поместили все 6 списков в один Google документ и получили 35,834 комментариев с именами пользователей ✅
2. Отобрать комментарии с тремя и более упоминаниями пользователей
Мы не нашли другого способа сделать это в Google таблицах, кроме регулярных выражений - Regex(regular expressions), вот что получилось - ссылка.
В Google таблицах нет способа получить количество совпадений регулярного выражения, пришлось немного схитрить:
- REGEXREPLACE(C:C, "(^|[^\w]@([\w\_\.]+)", "::~") - заменяем все совпавшие группы на на нашу уникальную строку, которая дальше нам пригодится
- SPLIT(.., "::") - разбивает текст на сегменты по нашей строке в массив строк
- COUNTA(..) - считаем размер массива
- IF(.. >= 3,.., "") - отбираем те строки, где величина массива больше
Результат можно глянуть тут в колонке D.
3. Убираем дубли / находим уникальные
Для этого используем функцию UNIQUE(..) - конка E
4. Убираем ответы администраторов групп
FILTER(E2:E,NOT(EQ(E2:E, “vitaliy_rizhkov”)), NOT(EQ(E2:E,”snickersv”)), NOT(EQ(E2:E, “explorer”)), NOT(EQ(E2:E,”creativeoptic”)), NOT(EQ(E2:E, “folkgreen”)), NOT(EQ(E2:E,”mountain.stories”)))
5. Готово
Финальный результат получили в колонке F, с ней можно выбирать случайного победителя