0
Отвечен

Новая логика подписки по хештегам

Китобой 8 лет назад обновлен SocialKit (Руководитель ТП) 8 лет назад 5

Ставлю задачу на подписку 10-ти аккаунтам - загружаю 10-ть тысяч хештегов.
Количество хештегов (полагаю надо понимать каждому аккаунту) ставлю 1000

Подписок на хештег (глубина сбора) ставлю 10

При этом формитуется задание у каждого аккаунта на подписку в 10-ть тысяч подписчиков.


Но.. будут же попадаться и те пользователи которые по нескольким хештегам свои фотки постили. Еще я ставлю галку Объединять игнор листы при анализе ЦА, - так понимаю при этом у десяти аккаунтов которым задал одновременное задание на подписку как бы будет общий игнор лист и они не будут все 10 подписываться на одного и того же пользователя даже если его медио много раз по заданным хештегам попадется.


Так вот главный вопрос.. на глазок скажем в результате пройденных 10тысяч хештегов десятью аккаунтами по 10 медио на хештег подписчиков наберется у каждого аккаунта скажем 5000 а не 10000 как задано в задании. Что после этого произойдет? подписка остановится выполним 5к из 10к? просто в старой версии SK насколько помню при этом неожиданно всплывали уведомления что мол не хватает хештегов или типа того и начинались всякие глюки про которые и вспоминать то не хочется.. Как отрабатывает этот алгоритм сейчас??




Завершен

Здравствуйте!


Но.. будут же попадаться и те пользователи которые по нескольким хештегам свои фотки постили. Еще я ставлю галку Объединять игнор листы при анализе ЦА, - так понимаю при этом у десяти аккаунтов которым задал одновременное задание на подписку как бы будет общий игнор лист и они не будут все 10 подписываться на одного и того же пользователя даже если его медио много раз по заданным хештегам попадется.


Если говорить в целом, то не будут все 10 подписываться на одного и того же. Но.. Следует учесть следующий момент. Объединенный игнор-лист пополняется по мере выполнения подписок. Алгоритмически возможна ситуация, когда какой-либо профиль еще не занесен в игнор-лист, но вот-вот будет осуществлена на него подписка первым ЦА, а второй ЦА находится в том же состоянии, т.е. вот-вот выполнит подписку на этот профиль, но она еще не состоялась и, соответственно, профиль не занесен в объединенный игнор-лист. Также заметим, что обработанные профили заносятся не только в глобальный игнор-лист, который актуален пока ведется работа по выбранным ЦА, но и в индивидуальных игнор-лист. Это расходует больше дискового ресурса, что, быть может, для Вас важно.


Так вот главный вопрос..


При работе по хэштегам задача по каждому ЦА должна крутится до тех пор, пока не наберется заданный объем. Т.е. при учете, что Вы задали каждому ЦА 1000 тегов по 10 подписок на каждый, то программа должна по каждому тегу отработать 10 подписок и никак иначе. Алгоритм не должен перевести ЦА к следующему тегу, пока не выбьет 10 успешных подписок по текущему тегу. Не зависимо от того, сколько пропущено по игнор-листу или по какой-либо другой причине. Если это не так, то это ошибка и мы это будем править. Вот выдержка из лога одного из 3 ЦА, по которым массово была дана задача на подписку по 2 тегам (для каждого ЦА) из расчета 10 подписок на каждый хэштег в режиме объединения игнор-листов. Как видно, были пропуски, но задача была выполнена именно в том объеме, в котором требовалось.




25.08.2016 14:15:50: Добавление задания "Подписка по списку хэштегов" в очередь [OK]

25.08.2016 14:15:50: Проверка игнор-листа на наличие дубликатов...
25.08.2016 14:15:52: Подготовка игнор-листа...
25.08.2016 14:15:54: Инициализация игнор-листа [OK]
25.08.2016 14:15:54: Подготовка служебных данных [OK]
25.08.2016 14:15:55: Инициализация целевого аккаунта [OK]
25.08.2016 14:15:56: Проверка работоспособности прокси "94.242.62.155:1080" [OK]
25.08.2016 14:15:57: Пропуск аккаунта с ID = 48814453 из игнор-листа [OK]
25.08.2016 14:15:58: Установка 1го лайка по хэштегу "swag" ID = 3263550809 [OK]
25.08.2016 14:16:00: Подписка по хэштегу "swag" ID = 3263550809 [OK]
25.08.2016 14:16:51: Установка 2го лайка по хэштегу "swag" ID = 1432931027 [OK]
25.08.2016 14:16:54: Подписка по хэштегу "swag" ID = 1432931027 [OK]
25.08.2016 14:17:43: Установка 3го лайка по хэштегу "swag" ID = 1563962520 [OK]
25.08.2016 14:17:45: Подписка по хэштегу "swag" ID = 1563962520 [OK]
25.08.2016 14:18:23: Установка 4го лайка по хэштегу "swag" ID = 560775272 [OK]
25.08.2016 14:18:26: Подписка по хэштегу "swag" ID = 560775272 [OK]
25.08.2016 14:18:59: Установка 5го лайка по хэштегу "swag" ID = 1386810628 [OK]
25.08.2016 14:19:02: Подписка по хэштегу "swag" ID = 1386810628 [OK]
25.08.2016 14:19:33: Установка 6го лайка по хэштегу "swag" ID = 278734942 [OK]
25.08.2016 14:19:36: Подписка по хэштегу "swag" ID = 278734942 [OK]
25.08.2016 14:20:06: Пропуск аккаунта с ID = 3239714717 из игнор-листа [OK]
25.08.2016 14:20:06: Пропуск аккаунта с ID = 1976758302 из игнор-листа [OK]
25.08.2016 14:20:07: Установка 7го лайка по хэштегу "swag" ID = 3718684721 [OK]
25.08.2016 14:20:09: Подписка по хэштегу "swag" ID = 3718684721 [OK]
25.08.2016 14:20:48: Установка 8го лайка по хэштегу "swag" ID = 3277798924 [OK]
25.08.2016 14:20:50: Подписка по хэштегу "swag" ID = 3277798924 [OK]
25.08.2016 14:21:40: Установка 9го лайка по хэштегу "swag" ID = 31836700 [OK]
25.08.2016 14:21:43: Подписка по хэштегу "swag" ID = 31836700 [OK]
25.08.2016 14:22:19: Пропуск аккаунта с ID = 3046030035 из игнор-листа [OK]
25.08.2016 14:22:20: Установка 10го лайка по хэштегу "swag" ID = 1421068919 [OK]
25.08.2016 14:22:22: Подписка по хэштегу "swag" ID = 1421068919 [OK]
25.08.2016 14:23:21: Проверка работоспособности прокси "94.242.62.155:1080" [OK]
25.08.2016 14:23:23: Установка 1го лайка по хэштегу "fashion" ID = 225499961 [OK]
25.08.2016 14:23:25: Подписка по хэштегу "fashion" ID = 225499961 [OK]
25.08.2016 14:24:17: Пропуск аккаунта с ID = 1967630199 из игнор-листа [OK]
25.08.2016 14:24:18: Установка 2го лайка по хэштегу "fashion" ID = 447545706 [OK]
25.08.2016 14:24:21: Подписка по хэштегу "fashion" ID = 447545706 [OK]
25.08.2016 14:25:10: Установка 3го лайка по хэштегу "fashion" ID = 1692102102 [OK]
25.08.2016 14:25:13: Подписка по хэштегу "fashion" ID = 1692102102 [OK]
25.08.2016 14:26:04: Установка 4го лайка по хэштегу "fashion" ID = 2090978112 [OK]
25.08.2016 14:26:06: Подписка по хэштегу "fashion" ID = 2090978112 [OK]
25.08.2016 14:26:39: Установка 5го лайка по хэштегу "fashion" ID = 4317859 [OK]
25.08.2016 14:26:42: Подписка по хэштегу "fashion" ID = 4317859 [OK]
25.08.2016 14:27:18: Установка 6го лайка по хэштегу "fashion" ID = 1505546642 [OK]
25.08.2016 14:27:21: Подписка по хэштегу "fashion" ID = 1505546642 [OK]
25.08.2016 14:28:05: Пропуск аккаунта с ID = 2282360145 из игнор-листа [OK]
25.08.2016 14:28:05: Установка 7го лайка по хэштегу "fashion" ID = 4831668 [OK]
25.08.2016 14:28:08: Подписка по хэштегу "fashion" ID = 4831668 [OK]
25.08.2016 14:28:40: Установка 8го лайка по хэштегу "fashion" ID = 1654114410 [OK]
25.08.2016 14:28:42: Подписка по хэштегу "fashion" ID = 1654114410 [OK]
25.08.2016 14:29:35: Установка 9го лайка по хэштегу "fashion" ID = 3545998754 [OK]
25.08.2016 14:29:38: Подписка по хэштегу "fashion" ID = 3545998754 [OK]
25.08.2016 14:30:23: Установка 10го лайка по хэштегу "fashion" ID = 3681625868 [OK]
25.08.2016 14:30:26: Подписка по хэштегу "fashion" ID = 3681625868 [OK]

25.08.2016 14:30:57: Выполнение 20 подписок успешно завершено [OK]


Если мы сверим количество пропусков из лога, то увидим, что их ровно 6, как и показано в колонке "Прогресс". Т.е. программе потребовалось выполнить 26 действий, чтобы осуществить 20 подписок по 10 подписок на каждый из 2 хэштегов.


Вы не возражаете, если мы сделаем этот тикет открытым, чтобы другие пользователи могли найти ответ, на схожие вопросы?

да конечно сделайте тикет открытым.


Т.е. программе потребовалось выполнить 26 действий, чтобы осуществить 20 подписок


а что произойдет если медио в хештеге не хватит? допустим если непредумышленно добавим в список хештегов тот который содержит всего 9 медио а в задании укажем 10 медио на хештег.. пример про 9 приведен условно, ведь в настройках реальной работы может быть указано скажем 500 медио на хештег +учитываем игнор лист + учитываем "объединенный ингнор лист" ели аккаунтов в задании несколько, и стоит соответствующая галка - "Объединять игнор листы при анализе ЦА"

И еще подвопросик.. на странице хештега обычно 9 лучших публикаций и далее новейшие. Если задано в настройках 10 подписок на каждый хештег, то вначале SK попробует подписаться на 9 из лучших и 1 новейшую или сразу начнет с 10 новейших?? Это важно в случае если скажем в настройках заданны циклы и отмечена галка переходить в начало списка хештегов в каждом цикле

а что произойдет если медио в хештеге не хватит?

Программа выполнит столько подписок, сколько уникальных пользователей удастся вытянуть через все имеющиеся медиа по тому или иному хэштегу. Причем, может так произойти, что программа зациклиться на одном хэштеге. Пока это лишь теория и вот почему. Instagram периодически пересобирает БД по хэштегам, программа это видит и перестает вращать курсор по тому или иному хэштегу с использованием тех тех. данных, что у нее есть. Вместо этого, если объем работ по хэштегу не выполнен, программа обновит информацию по хэштегу и вытянет новые курсоры. Медиа, принадлежащие тем пользователям, на которые уже выполнена подписка программа пропустит и доберется рано или поздно до того, на кого еще не было подписки или доберется до конца списка медиа по искомому хэштегу. Гипотетически возможна ситуация, когда программа не сможет добраться до конца медиа по списку хэштегов и, в то же время, не будет находить пользователей, на которых еще не было подписки из-за того, что постоянно пересобирается курсор БД Instagram'ом. На практике мы с таким не сталкивались, т.к. такую ситуацию умышленно смоделировать крайне сложно. По не очень популярным хэштегам программа успешно добирается до конца списка, по даже среднепопулярным постоянно находятся новые пользователи, что в конечном итоге, все же, дает программе возможность выполнить объем подписок по искомому хэштегу.


И еще подвопросик.


В задаче на МЛ и МК мы в свое время добавили переключатель "пропускать лучшие медиа", что само по себе отвечает на Ваш вопрос. В задаче на МФ мы это не делали, следовательно, обработка будет начинаться всегда только с лучших медиа и дальше к новым. Т.к. подписка все равно может быть выполнена только лишь один раз, то это не особо актуально, но, все же, какое-то время на это программа потратит. Вероятно, было бы разумным добавить этот переключатель и на подписки по тегам.


Вероятно, было бы разумным добавить этот переключатель и на подписки по тегам.


Планируете ли вы это реализовать в ближайших обновлениях?
Вопрос не так уж и малозначителен как может показаться, первые 9 медио из "лучших" хештега принадлежат скажем так особым пользователи которые довольно популярны и привлечь их внимание с помощью МФ МЛ бесполезное занятие. Вместе с тем если мы хотим подписываться на тех пользователей которые недавно размещали медио а не "копать" в глубь хештега на 300 медио то эти 9 топовых становятся проблемой. т.е. скажем если мы используем скажем 20 тыс хештегов делаем 30 подписок на хештег то треть из подписанных это будут популярные пользователи из топа по хештегу. а хотелось бы скажем подписываться на 10 последних разестивших медио по хештегу но без учета топовх (т.е. лучших медио) В общем галочка в настройках на мой взгляд необходимо чтобы иметь возможность пропускать 9 лучших медио при подписке по хештегам.

Отвечен

Поняли Вас. В ближайшем обновлении добавим соответствующую возможность.

Сервис поддержки клиентов работает на платформе UserEcho