Формирование аудитории - По конкурентам

Сбор аудитории по конкурентам позволяет собрать подписчиков или подписки с различных аккаунтов Instagram-сообщества. SocialKit позволяет собирать подписчиков и подписки не только с публичных аккаунтов, но и с закрытых. Однако, в последнем случае нужно, чтобы один или несколько технических аккаунтов, с которых будет осуществляться сбор, находились в подписчиках у искомого конкурента. Без этого одобрения сбор с закрытого профиля невозможен.


Скорость сбора зависит от многих параметров. При сборе большой аудитории по большому количеству конкурентов SocialKit способен собирать сотни тысяч уникальных профилей за считанные минуты. Такую скорость сбора вам не обеспечит ни один другой программный комплекс.


Окно сбора по конкурентам разделено на две логические части:


ШАГ 1: Формирование списка конкурентов

ШАГ 2: Формирование списка пользователей


Рассмотрим эти блоки более подробно.



ШАГ 1: Формирование списка конкурентов


Для начала сбора подписчиков или подписок с какого бы то ни было конкурента нужно добавить в блок "ШАГ 1" одного или нескольких конкурентов. Это можно сделать несколькими способами.


Через ввод поисковой фразы. Этот способ позволит найти конкурентов по полной или частичной тематической фразе. При этом программа позволяет задать глубину поиска от 1 до 50, а также выбрать способ поиска и исключить дубликаты. В некоторых случаях многократная смена способа поиска позволяет собрать больше 50 конкурентов по заданной ключевой фразе. Ниже показан пример сбора конкурентов по ключевой фразе "диваны".



Image 690



Через явное задание конкурентов. Этот способ подойдёт тем, кто уже знает, с каких конкурентов нужно осуществить сбор подписчиков или подписок. Конкуренты могут быть заданы в виде списка с Instagram-логинами или в виде Instagram-ссылок, или вперемешку в соответствующем поле ввода справа. Каждый новый логин или ссылка должны начинаться с новой строки. Перечень аккаунтов можно вбивать вручную, а можно вставить из буфера обмена. После этого нужно нажать кнопку "Добавить в список" - программа начнет поочередно анализировать каждый аккаунт, собирая с него статистику по подписчикам, подпискам и публикациям. Если в перечне будут дубликаты, то программа их автоматически исключит.



Image 691



Через загрузку списка из файла. Этот способ подойдёт тем, кто уже имеет большой список конкурентов. Например, собранный другим способом и отфильтрованный каким-то особым образом. В таком случае достаточно нажать кнопку "Загрузить список" и в открывшемся диалоге выбрать файл со списком аккаунтов в формате ID:LOGIN или ID:LOGIN+. Если у Вас большой список в формате ID, LOGIN или URL, то его нужно предварительно преобразовать в формат ID:LOGIN или ID:LOGIN+ на закладке "Операции над списками".



Image 692



Собранный или загруженный из файла перечень конкурентов можно отфильтровать при помощи быстрого фильтра. Кнопка его вызова находится на панели инструментов. При помощи быстрого фильтра можно убрать N/A-записи, очистить список от дубликатов, а также выставить критерии отсева по подписчикам, подпискам и публикациям.



Image 694



ШАГ 2: Формирование списка пользователей


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



Image 698



1 - Запросов на один аккаунт - этот параметр отвечает за управление количеством запросов для каждого технического аккаунта. Instagram выдает лимит в 5000 запросов в час, а также определенный лимит на частоту запросов в единицу времени. Чуть ниже мы рассмотрим пример, когда изменение данного параметра имеет смысл. По умолчанию это значение 4990 и в большинстве случаев изменять его не нужно.


2 - Тайм-аут в случае ошибок - этот параметр определяет, на сколько секунд будет взят перерыв, если обнаружится ошибка о превышении лимита на количество запросов в единицу времени. По умолчанию значение в этом поле равно 30 секундам и уменьшать его смысла нет. Этот параметр работает в паре с параметром "Число повторений при ошибке".


3 - Число повторений при ошибке - этот параметр определяет, сколько раз программа будет пытаться выполнить сбор определенного блока аудитории, если возникла ошибка о превышении лимита на количество запросов в единицу времени. По умолчанию значение в этом поле равно 10 и уменьшать его смысла нет. Этот параметр работает в паре с параметром "Тайм-аут в случае ошибок".


4 - Использовать тех. аккаунты одновременно - этот параметр переключает сбор аудитории в скоростной режим, но только в тех случаях, когда количество конкурентов превышает 1 профиль, а также в тех случаях, когда количество технических аккаунтов также превышает 1 штуку. Увеличение скорости сбора пропорциональна количеству конкурентов в списке и количеству технических аккаунтов. Т.е., например, сбор на 10 технических аккаунтах со 100 конкурентов будет идти в 10 раз быстрее, чем сбор с 1 технического аккаунта со 100 конкурентов. Однако, прироста производительности не будет при сборе на 10 технических аккаунтах с 1 конкурента.


5 - Максимальная нагрузка на тех. аккаунты - этот параметр переключает как опоследовательный так и одновременный режим сбора аудитории по конкурентам в особый скоростной режим. Однако, при этом придется пожертвовать большей частью имеющихся настроек фильтрации, т.к. в этом режиме они не будут доступны.


6 - Не использовать прокси на тех. аккаунтах - этот параметр позволяет на время сбора отключить использование прокси, что заметно увеличивает скорость сбора. Однако, без включенного режима максимальной нагрузки на тех. аккаунты или при количестве тех. аккаунтов более 20 штук эту опцию включать не следует. В противном случае сбор аудитории завершится довольно быстро из-за превышения лимита на количество допустимых запросов в единицу времени.


7. Блок переключения Instagram API - этот параметр реализован "на вырост". Имеет смысл только с выключенным режимом сбора с максимальной нагрузкой на тех. аккаунты. Можно оставить значение по умолчанию. В некоторых случаях сбор в режиме "Instagram API 4.xx" работает несколько быстрее, чем в режиме "Instagram API 7.xx".



Собранные профили могут быть помещены в визуальный список либо же сразу сохранены в файл на диске. По умолчанию программа настроена на отображение собранных профилей в визуальном списке. В этом режиме есть ограничение на количество собираемых профилей в 2.5 млн., продиктованное особенностями реализации ОС Windows. В случаях, когда нужно собрать большую базу по большому числу конкурентов вопрос не стоит остро, т.к. сбор можно разбить в несколько этапов. Целесообразность такого разбиения также продиктована тем, что, как правило, собранная аудитория проходит через комплексный фильтр, а фильтровать лучше всего относительно небольшие базы (до миллиона аккаунтов), чтобы быстрее получать результаты для начала выполнения задач на подписку, лайкинг и т.д., а также чтобы нивелировать потери от потенциально возможных сбоев в работе.


Другое дело, если стоит задача собрать очень большой объём по каждому аккаунту. Например, с аккаунтов звёзд или известных брендов. В таком случае без сохранения в файл не обойтись. Рассмотрим блок настроек, отвечающих за сохранение данных в файл "налету". Находится этот блок на закладке "Файл на диске".



Image 703



1 - Сохранять собранные аккаунты на диск - отметка в этом поле активирует режим сохранения собранных данных в файл на диске "налету", т.е. без загрузки в визуальных список, что сделает возможным сбор с каждого или со всех профилей более 2.5 млн. аккаунтов.


2 - Путь к файлу - нажав на кнопку рядом с полем ввода откроется диалог, в котором необходимо ввести имя текстового файла для сохранения собираемой аудитории. Следует отметить, что вводя имя файла вы указываете лишь некий уникальный шаблон для сохранения, т.к. программа будет дописывать нумерацию перед именем файла, чтобы уникализировать эти имена в ходе сохранения данных. Так, например, если требуется собрать 16 млн. аккаунтов с профиля звезды, то при установках по умолчанию на диске будет создано 16 файлов с именами: "0sbor.txt", "1sbor.txt", ..., "15sbor.txt", в каждом из которых будет по 1 млн. профилей.


3 - Сохранить по <значение> аккаунтов в каждом файле - в этом поле следует установить, сколько аккаунтов следует помещать в каждый файл на диске. Рекомендуем не устанавливать слишком большое значение, т.к. в противном случае с такими файлами будет тяжело работать и вам и программному обеспечению. По умолчанию значение в этом поле равно 1 млн. аккаунтов.


4 - На каждом <значение> аккаунте пересохранять файл - значение в этом поле отвечает за то, как часто будет пересохраняться файл с данными на диске во время сбора. Этот параметр напрямую влияет на скорость сбора, т.к. дисковые операции по меркам машинного времени одни из самых длительных. Нет никакой необходимости выполнять пересохранение слишком часто, т.к. программа собирает аудиторию достаточно быстро большими блоками. По умолчанию значение в этом поле равно 10 тыс. Это означает, что файл будет пересохраняться каждые 10 тыс. аккаунтов, что является оптимальной установкой.


5 - Формат сохранения - по умолчанию программа настроена на работу с форматом ID:LOGIN, который впервые появился в нашей программе. Именно такой формат оптимален для дальнейшего использования в SocialKit. Однако, если вы хотите, чтобы программа сохраняла списки в каком-либо другом формате, то есть дополнительные три варианта: формат ID, формат LOGIN и формат Instagram URL. Во время сбора файл на диске будет автоматически сохраняться в том формате, который вы укажите в этом блоке.


6 - Независимое сохранение для каждого конкурента - данный переключатель доступен только при одновременном режиме сбора и позволяет сохранять данные в файл по каждому конкуренту независимо. Это особенно важно, когда в одновременно режиме идёт сбор огромных массивов данных сразу с нескольких аккаунтов, например, с аккаунтов звёзд или известных брендов. Если отметку в этом поле не установить, то запись в файл будет идти после обработки партии конкурентов, равной количеству задействованных технических аккаунтов, а если установить, то сохранение будет идти непрерывно в процессе сбора. Например, требуется собрать 100 млн. профилей с 10 конкурентов по 10 млн. с каждого. Для этой задачи есть 5 технических аккаунтов. Если НЕ установить отметку в поле "Независимое сохранение для каждого конкурента", то первая порция данных будет сохранена только после сбора 50 млн. профилей, т.е. после того, как будет полностью собрана вся аудитория по первым 5 конкурентам на 5 технических аккаунтах. Остальные 50 млн. будут сохранены, когда используемые 5 технических аккаунтов автоматически пойдут на сбор с оставшихся 5 конкурентов. Если установить отметку в этом поле, то сохранение будет идти в 10 разных файлов, имеющих в префиксе логин конкурента и разбиваться в соответствии с установками в блоках 3 и 4. Также важно понимать, что при сборе с большого количества конкурентов лучше отметку в этом поле НЕ ставить, т.к. в противном случае вы получите огромное количество файлов на диске, работать с которыми будет затруднительно.



При сборе аудитории SocialKit также позволяет применять различные фильтры без ущерба для скорости сбора. Перечень доступных фильтров находится на закладке "Параметры сбора".



Image 705



1 - Тип собираемой аудитории - этот переключатель позволяет выбрать, какую именно аудиторию нужно собрать с каждого конкурента: тех, КТО подписался на аккаунт конкурента или тех, НА КОГО подписался сам конкурент.


2 - Пропускать приватные профили - отметка в этом поле скажет программе о том, что во время сбора нужно исключать из результирующей выборки приватные (закрытые) профили. Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


3 - Пропускать публичные профили - отметка в этом поле скажет программе о том, что во время сбора нужно исключать из результирующей выборки публичные (открытые) профили. Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


4 - Пропускать не верифицированные профили - отметка в этом поле скажет программе о том, что во время сбора нужно исключать из результирующей выборки профили, что не получили подтверждение от Instagram. Такое подтверждение имеется только на аккаунтах некоторых знаменитостей и известных брендов. Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


5 - Пропускать верифицированные профили - отметка в этом поле скажет программе о том, что во время сбора нужно исключать из результирующей выборки профили, которые получили подтверждение от Instagram. Такое подтверждение имеется только на аккаунтах некоторых знаменитостей и известных брендов. Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


6 - Фильтр по стоп-словам в полном имени - отметка в этом поле дает возможность отфильтровать в прямом или обратном направлениях (включить или исключить из результирующей выборки) собираемую аудиторию по стоп-словам из текстового файла в полном имени каждого профиля. Этот фильтр работает по такому же алгоритм, как и фильтр по стоп-словам в комплексном многопоточном фильтре. Текстовый файл должен быть в кодировке Win-1251 (кодировка блокнота Windows по умолчанию) из расчета, что каждое стоп-слова начинается с новой строки. Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


7 - Количество профилей - в этом поле необходимо указать число, соответствующее тому количеству аудитории, которое вы хотите собрать с одного или нескольких конкурентов.


8 - Сбор в равных долях - отметка в этом поле скажет программе о том, что во время сбора по нескольким конкурентам нужно собирать с каждого конкурента равную долю от общего числа собираемой аудитории (указывается в блоке 7). Равная доля вычисляется по простой математической формуле: значение в блоке 7 / на количество конкурентов. Если доля окажется больше, чем количество подписчиков или подписок конкурента, то будет собрано столько, сколько возможно. Если больше, то, соответственно, будет собрано количество, соответствующее этой доле и не больше.


9 - Собирать уникальные профили - отметка в этом поле скажет программе о том, что результирующий список должен содержать только уникальные записи, а все дубликаты нужно удалять.


10 - Собирать не уникальные профили - отметка в этом поле скажет программе о том, что результирующий список должен содержать только дубликаты, т.е. те профили, что встречаются в подписках или подписчиках более, чем у одного конкурента.


11 - Пропускать профили без аватара - отметка в этом поле скажет программе о том, что результирующий список НЕ ДОЛЖЕН содержать профили БЕЗ АВАТАРА (свое изображение в виде фотографии или картинки). Обычно аватар отсутствует у только что созданных профилей или у ботов. Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


12 - Пропускать профили с аватаром - отметка в этом поле скажет программе о том, что результирующий список НЕ ДОЛЖЕН содержать профили С АВАТАРОМ (свое изображение в виде фотографии или картинки). Переключатель недоступен при сборе с максимальной нагрузкой на тех. аккаунты.


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


Важно! Перед началом сбора (перед открытием окна сбора) выполните повторную инициализацию всех технических аккаунтов, которые будут участвовать в сборе. Это не обязательно делать каждый раз, однако, желательно. Особенно, если сбор внезапно прерывается и в главном логе есть информация об ошибке.



КЕЙС 1: сбор по нескольким конкурентам (<500k) без фильтрации "налету"


В задаче требуется максимально быстро собрать 1 млн. уникальных профилей с 10 конкурентов без какой-либо дополнительной фильтрации, т.к. фильтрация в задаче будет выполняться уже потом при помощи комплексного многопоточного фильтра.


Важно! Каждый конкурент в списке имеет число подписчиков меньше 500 тыс.


Исходя из задачи понятно, что тут потребуется одновременный сбор. Также можно включить максимальную нагрузку на технические аккаунты, т.к. фильтрация "налету" не требуется и можно "выжимать" максимальную скорость. Указанные объёмы позволяют не делать сразу запись собранных профилей в файл. Если есть вероятность, что с Интернет-соединением будут проблемы, то лучше включить запись в файл с настройками по умолчанию.


Таким образом для сбора будет достаточно взять 10 технических аккаунтов без прокси (можно взять и меньшее число, но скорость сбора будет ниже). Блоки настроек должны выглядеть, как на скриншоте ниже.



Image 716



Как видно из скриншота, практически все блоки технических настроек сбора остались со значениями по умолчанию. Были установлены отметки в полях "Использовать тех. аккаунты одновременно", "Максимальная нагрузка на тех. аккаунты". Прокси и так не были связаны с техническими аккаунтами, потому отметки в последнем переключателе нет. Прочие параметры сбора были установлены согласно требованиям задачи. Отметки в переключателях, что помечены серым игнорируются при сборе и на это не нужно обращать внимание.


С такими настройками 1 млн. уникальных профилей был собран за считанные минуты.



Image 807



Важно! Внимательно следите за настройками в поле "Запросов на один аккаунт", т.к. это напрямую влияет на объёмы собираемой аудитории. Некоторые пользователи при переключении между кейсами забывают об этом параметре и потом удивляются, почему выборка получается неполной.



КЕЙС 2: сбор по нескольким конкурентам (<500k) с фильтрацией "налету"


В задаче требуется максимально быстро собрать 1 млн. уникальных профилей с 10 конкурентов с фильтром от пользователей без аватарки, а также с фильтром от закрытых аккаунтов.


Важно! Каждый конкурент в списке имеет число подписчиков меньше 500 тыс.


Исходя из задачи понятно, что тут потребуется одновременный сбор. Максимальную нагрузку на технические аккаунты нужно отключить, т.к. требуется фильтрация "налету". Указанные объёмы позволяют не делать сразу запись собранных профилей в файл. Если есть вероятность, что с Интернет-соединением будут проблемы, то лучше включить запись в файл с настройками по умолчанию.


Таким образом для сбора будет достаточно взять 10 технических аккаунтов без прокси (можно взять и меньшее число, но скорость сбора будет ниже). Блоки настроек должны выглядеть, как на скриншоте ниже.



Image 726



Как видно из скриншота, практически все блоки настроек сбора остались со значениями по умолчанию и почти такими же, как и в предыдущем кейсе. Была установлена отметки в поле "Использовать тех. аккаунты одновременно". Прокси и так не были связаны с техническими аккаунтами, потому отметки в последнем переключателе нет. Прочие параметры сбора были установлены согласно требованиям задачи.


Важно! При данном способе сбора возможны паузы во время выполнения задания. Паузы для каждого потока (технического аккаунта) будут равны числу попыток * тайм-аут каждой попытки. Частота возникновения этих пауз будет зависеть от количества технических аккаунтов и от количества аудитории на каждом конкуренте. Чем меньше технических аккаунтов, тем чаще будут возникать такие паузы. Также, чем больше аудитория на каждом конкуренте, тем чаще будут возникать такие паузы. Если ожидание кажется слишком утомительным, то, возможно, более разумно будет сначала быстро собрать аудиторию по кейсу 1, а затем отфильтровать ее комплексным многопоточным фильтром.



КЕЙС 3: сбор 145 млн. профилей с одного конкурента с фильтрацией "налету"


В задаче требуется собрать ~145 млн. аккаунтов (всех подписчиков) с профиля "instagram", исключив все приватные аккаунты и аккаунты без аватара.


Исходя из задачи понятно, что одновременный режим сбора тут не требуется, т.к. профиль конкурента всего один. Также понятно, что для сбора профилей в количестве более 2.5 млн. необходимо исключить загрузку данных в визуальных список (об этом рассказывалось выше) и сразу делать сохранение в файл. Также в задаче требуется выполнить фильтрацию "налету", что не позволяет использовать режим максимальной нагрузки на технические аккаунты. Следовательно, сбор будет осуществляться способом по умолчанию, а он, в свою очередь, после последних изменений в логике работы Instagram требует подключения множества технических аккаунтов. В противном случае сбор будет периодически останавливаться после получения информации от сервера Instagram о превышении лимита на количество запросов в единицу времени.


Таким образом, для сбора будет вполне достаточно 10 технических аккаунтов. Можно привязать их к прокси, а можно не привязывать. Если привязать к прокси, то из-за естественных задержек, которые дает прокси, количество технических аккаунтов можно сократить раза в два. Блоки настроек должны выглядеть, как на скриншоте ниже.



Image 710


Image 711



В блоке технических настроек сбора очень важным моментом является изменение значения в поле "Запросов на один аккаунт". С умолчания в 4990 значение снижено до 32, что позволяет равномерно распределять нагрузку между всеми техническими аккаунтами. Для 10 технических аккаунтов рекомендуется ставить значение от 32 до 44.


Настройки экспорта в файл вряд ли вызовут вопросы. Был выбран файл на диске, все остальное по умолчанию: собирать по 1 млн. в каждый файл, пересохранять файл на диск через каждые 10 тыс. аккаунтов).


В параметрах сбора установлены отметки в полях "Пропуск приватных" и "Пропуск профилей без аватара". Также указано, что нужно собирать именно подписчиков с конкурента и указан максимальный объём в ~145 млн. аккаунтов.


После этого нажимаем кнопку "Собрать пользователей". Если с техническими аккаунтами все в порядке, то сбор без проблем будет идти до тех пор, пока программа не соберет максимум из указанного объёма. Скорость сбора может плавать даже если вы выполняете его без прокси, т.к. Isntagram научился динамически распределять нагрузку на сервера. Во время проведения данного кейса скорость ответа серверов плавала от 300 мс до 1700 мс.



Image 714



Если у вас нет достаточного количества технических аккаунтов, то вы можете осуществлять сбор даже на одном. Но при этом время от времени будет появляться информация в статус-строке о том, что программа переведена в режим ожидания. В эти моменты будут вступать в силу настройки "Тайм-аут в случае ошибки" и "Число повторений при ошибке". Рекомендуется не уменьшать значения по умолчанию (как на скриншотах выше) или увеличивать, если установленных значений по умолчанию будет не хватать для успешного выжидания блокировки на выполнение запросов. Пример ситуации, когда возникает сообщение о тайм-ауте показан на скриншоте ниже.



Image 715



Частично были отключены технические аккаунты, чтобы продемонстрировать как это выглядит, а остальные настройки остались те же. Т.е. появление данного сообщения вовсе не означает, что вы должны прекратить сбор. Это лишь указывает на то, что можно пересмотреть настройки, а также на то, что сбор будет продолжен через какое-то время. Разумеется, что можно также нажать "Отмена" и довольствоваться тем, что уже собрано программой.



КЕЙС 4: сбор 100 млн. профилей по нескольким конкурентам (>500k) без фильтрации "налету"


В задаче требуется максимально быстро собрать более 100 млн. профилей с различных конкурентов, у которых число подписчиков (у каждого конкурента) более 500 тыс. человек. При этом в задаче не требуется осуществлять фильтрацию "налету", т.к. после сбора профили будут отправлены на фильтрацию в комплексный многопоточный фильтр.


Из постановки задачи понятно, что сбор должен осуществляться в одновременном режиме с максимальной нагрузкой на технические аккаунты (т.к. фильтрация "налету" не нужна), а также с сохранением данных в файлы без их загрузки в визуальный список, т.к. объёмы слишком велики, чтобы удерживать их в оперативной памяти в реальном времени. Более того, в большинстве случаев потребуется активировать режим независимого сохранения для каждого конкурента, чтобы сброс данных на диск шёл индивидуально для всех выбранных конкурентов, а не когда обработана их группа, равная числу технических аккаунтов. Режим независимого сохранения можно не активировать только когда в сборе участвует пара-тройка технических аккаунтов и/или число подписчиков у каждого конкурента не слишком велико. В примере, который мы рассматриваем конкурентов более 50 человек и каждый имеет более 1 млн. подписчиков.


В максимальной нагрузке на технические аккаунты есть ограничение, продиктованное правилами Instagram. Оно составляет около 5000 запросов в час для каждого технического аккаунта. За каждый запрос программа обрабатывает около 100 профилей, что устанавливает лимит в 500 тыс. профилей в час для каждого технического аккаунта. После этого нужно делать длительный перерыв, равный часу.


Мы нашли способ обойти это ограничение и ввели новое понятие "Сцепленные аккаунты". Благодаря этому можно собирать с любого конкурента всех подписчиков даже в одновременном режиме сбора.


Чтобы сформировать сцепленные технические аккаунты необходимо перейти в главное окно программы, выбрать один из технических аккаунтов в списке и в контекстном меню выбрать пункт "Связать с другими техническими аккаунтами".



Image 1421


В открывшемся диалоговом окне выбрать технические аккаунты, с которыми будет связан искомый. Одного связанного хватит для того, чтобы собрать ~1 млн. профилей, двух связанных хватит, чтобы собрать ~1.5 млн. профилей, а трёх связанных хватит, чтобы собрать любой объём.



Image 1422


Во время выбора Вам не нужно запоминать, что какие из аккаунтов Вы уже выбрали, а какие нет - программа учитывает это автоматически, не позволяя выбрать один и тот же аккаунт несколько раз, а также страхует от рекурсивного выбора. После завершения формирования списка сцепленных аккаунтов можно переходить в окно сбора.


После того, как вы активируете режим одновременного сбора с максимальной нагрузкой на технические аккаунты сцепленные аккаунты в блоке "Аккаунты для сбора аудитории" будут выделены подчеркиванием. Чтобы оставить среди выбранных только сцепленные технические аккаунты нажмите одноимённую кнопку под списком.



Image 1423


Остальные настройки выставляются таким образом: запросов на один аккаунт - 4990 (по умолчанию), тайм-аут в случае ошибки - 30 (по умолчанию), число повторений - 10 (по умолчанию), выбираете имя файла на диске и включаете режим независимого сохранения для каждого конкурента.



Image 1424


Таким образом, в нашем примере получилось 4 сцепленных аккаунта, кооторые способны собрать полный объём с любого профиля. Связь была установлена 1к3, а это значит, что задействовано в сборе 16 технических аккаунтов (4 сцепленных + 12 связанных с каждым из сцепленных).



Image 1425



При автосохранении введенное имя файла будет расцениваться как лексема, участвующая в формировании истинного имени. Происходит это по такому алгоритму. Например, имя конкурента "buzova", а введенное имя файла "sbor.txt". Тогда первый выходной файл автосохранения будет иметь имя "0buzova_sbor.txt", второй - "1buzova_sbor.txt", третий - "2buzova_sbor.txt" и так далее, и так по каждому конкуренту. Количество профилей в каждом файле будет строго соответствовать введенным лимитам.



ВОПРОСЫ


- Чем больше технических аккаунтов, тем лучше\быстрее?

Нет. Точнее, не всегда. Нужно понимать, что при количестве технических аккаунтов до 20 штук можно обойтись без привязки технических аккаунтов к прокси. В такой массе технических аккаунтов есть смысл только при одновременном сборе по большому перечню конкурентов. Если вы добавите больше 20 технических аккаунтов и начнете одновременный сбор по всем, то очень быстро нарушите лимит запросов Instagram с одного IP в единицу времени. Потому, если вы хотите делать одновременный сбор на большой массе технических аккаунтов (более 20 штук), то лучше каждые 10 аккаунтов привязывать к индивидуальному прокси (с 1го по 10ый на 1 приватный прокси, с 11го по 20ый, на второй приватный прокси и т.д.). Таким образом, 5 индивидуальных прокси хватит на 50 технических аккаунтов. Если вы ведете сбор в опоследовательном режиме, то при любом количестве технических аккаунтов в прокси нет смысла. Да и в количестве технических аккаунтов больше 10 штук смысла нет.


- Нужно ли привязывать прокси к техническим аккаунтам?

В вопросе выше дан ответ на этот вопрос. В большинстве случаев в этом нет никакого смысла. Однако, есть ситуации, когда в этом есть смысл - это одновременный сбор с большого числа конкурентов на большом количестве (более 20 штук) технических аккаунтов.


- Сбор остановился и не двигается. Что делать? Он завис?

Нет, сбор не завис. Если задача продолжает реагировать на клики мышкой, то она не зависла, а сбор перешел в режим экстренного перерыва. Эта ситуация может возникать при одновременном сборе без максимальной нагрузки на технические аккаунты. В этот момент Instagram возвращает код ошибки о превышении лимитов на запросы и программа берет паузу. Все, что вам нужно сделать - дождаться продолжения. В Кейсе 2 рассматривается такая ситуация.


- Не могу собрать всех, т.к. сбор прерывается. Как это исправить?

Сбор может прерываться по двум причинам: неверно заданы настройки или требуется повторная инициализация технических аккаунтов, на которых ведётся сбор. Instagram может сбросить сессию, затребовав тот или иной вид подтверждения для технического аккаунта. Обычно это не происходит во время самого сбора, однако, может произойти перед его началом. Соответствующая информация должна присутствовать в главном логе программы.


Например, в таком виде:


05.04.2016 15:52:41: Формирование списка пользователей [ERROR]:[Требуется повторная инициализация технических аккаунтов, участвующих в сборе]


...или в таком:


05.04.2016 15:29:21: Формирование списка пользователей [ERROR]:[400 - Неизвестная причина]

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