Key Collector — пожалуй, самое популярное ПО для сбора семантического ядра и проведения семантического анализа. Кей Коллектор — незаменимое орудие в арсенале любого продвинутого маркетолога, рекламщика или SEO-специалиста.
Но некоторое время назад с Key Collector начались проблемы. А точней сказать — не с Key Collector, а Яндекс ужесточил свои правила проверки пользовательских аккаунтов — массовые блокировки аккаунтов, обязательная привязка номера телефона, постоянно появляющаяся капча. Ярче всего эти ужесточения отразились на SEO-специалистах. Совсем недавно огромное количество пользователей программы для парсинга и составления семантики KeyCollector (в том числе и мы) столкнулось с ошибкой «Не удалось распознать формат ответа Яндекс.Wordstat» при парсинге Yandex Wordstat. Проблема связана именно с капчей «Я не робот», которая появляется при сборе семантики вручную через браузер в Wordstat. Проблему не позволяют решить ни старые аккаунты, ни белые ip-адерса, на тотальное замедление скорости парсинга.
Сначала появляется страница с капчей «Я не робот», а следом за ней идёт символьная капча — именно этот формат и не удается распознать Ки Коллектору. Если даже на старых аккаунтах она появлется, что говорить о новорегах. Скорее всего у Яндекса вызывает подозрение количество непрерывных запросов за определенный промежуток времени.
Попытавшись сильнее углубиться в проблему, нам таки удалось оживить парсинг Яндекса — об этом и будет статья.
Приостановка парсинга
Самый простой, но тем не менее, вполне рабочий способ — это банальная приостановка парсинга. Мы использовали древние проверенные аккаунты, чистые IP, а ошибка всё равно появлялась. Приостановка парсинга на несколько часов позволяла возобновить парсинг без ошибок также на несколько часов, после чего ошибка повторялась и мы опять приостанавливали парсинг. Остановка парсинга на ночь — позволяла без проблем продолжать парсинг весь следующий день. Понятно, что с такими перерывами и всего одним аккаунтом много не напарсишь, поэтому ниже мы рассмотрим возможность парсинга сразу с нескольких аккаунтов.
В целом, парсинг небольшого числа запросов в ограниченный промежуток времени на старом аккаунте, скорее всего, не вызовет проблем. Но если прогнозируется парсинг на несколько дней — лучше его делать с перерывами.
Если ситуация такая, что аккаунты прогретые, IP белые, но парсинг даже после остановки не запускается — скорее всего, капча появляется уже при логине в аккаунт. Необходимо отдельно заходить в браузере в каждый аккаунт, переходить в Wordstat, где-то по пути вы встретите капчу. Часто помогает просто в поиске Яндекса или Wordstat вбить какой-нибудь запрос и походить по страницам, где-то на 8-10-й странице вы встретите капчу. После её прохождения, перезапускаем парсинг — и он должен начать работать без ошибок (на какое-то время).
Прогретые аккаунты Яндекса
Это, пожалуй, самый верный способ нормально парсить Wordstat. С одним аккаунтом всё понятно, можно банально в него зайти, покликать по ссылкам в Яндексе. Продемонстрировав поведение реального пользователя так или иначе получится запустить парсинг. Если парсить десятки тысяч, а то и миллионы запросов ежедневно, конечно, потребуется много аккаунтов и прокси под них (1 аккаунт — 1 proxy).
В интернете уже стали появляться предложения о продаже готовых связок из уже прогретых аккаунтов и прокси. В целом, это можно назвать решением, пусть и не самым дешёвым. Идём дальше.
Регистрация аккаунтов
Основное, что нам потребуется для быстрого парсинга Wordstat — это много аккаунтов. Стоит сразу отметить, что не нужно создавать корпоративные аккаунты (т.е. почта@ваш-домен.ру). С одной стороны с ними куда меньше проблем: не нужен номер телефона для регистрации, сама процедура регистрации отнимает меньше времени, не страшны блокировки аккаунтов. Но есть одна ключевая проблема — корпоративные аккаунты не позволят парсить Яндекс Директ.
Для того, чтобы была возможность парсить и Яндекс Директ, и Yandex Wordstat — мы будем регистрировать обычные аккаунты Яндекс Почты. В качестве телефона для активации — можно использовать бесплатные виртуальные номера (Google: «номер для приёма СМС»), либо регистрировать аккаунты на один и тот же номер телефона, с последующей его отвязкой в личном кабинете Яндекс (не забудь установить и записать ответ на контрольный вопрос!).
Прогрев аккаунтов
Прогревать аккаунты можно самостоятельно. Наиболее удобный способ для прогрева — установить отдельный браузер Mozilla Firefox (Mozilla Portable) и создать необходимое количество профилей под каждый Яндекс-аккаунт, чтобы Cookies не перемешивались, а также была возможность к каждому профилю добавить свой прокси. Хочешь что-то найти в Яндексе, посмотреть Погоду/Новости/Картинки/Карты — хватит делать это в приватном режиме, заходи на аккаунт для прогрева и смотри. Одна-две недели и мы получаем прекрасный прогретый аккаунт. Тут важно всегда заходить в этот аккаунт с соответствующим прокси.
Яндекс, конечно, сразу видит разные User-agent у KeyCollector и Mozilla, но хотя бы не блокирует аккаунт полностью. Смена IP может вызвать у Яндекса подозрения, тут и нужно быть готовым вспоминать ответ на контрольный вопрос или искать номер телефона, к которому был привязан аккаунт.
Proxy
В интернете есть огромное предложение различных прокси-сервисов. От дешевых shared-proxy за 30 руб./мес. до приватных и мобильных с динамическим ip. Нужно понимать, что shard-proxy может одновременно с тобой использовать неограниченное количество других пользователей. И среди них могут оказаться такие же сеошники, которые сейчас парсят Яндекс, что может приводить к дополнительным капчам или даже блокировкам. Использование приватных прокси при массовом парсинге выходит довольно накладным занятием. Поэтому, при выборе proxy стоит одновременно протестировать прокси от разных провайдеров и выбрать наиболее эффективный вариант. У нас получалось запускать парсинг и на публичных прокси.
Динамические мобильные прокси (быстрое и универсальное решение)
А что если если сотня аккаунтов и не хочется каждый прогревать или заходить в браузере и искать капчу? На текущий момент динамические мобильные прокси — это наиболее эффективный вариант. Такой подход позволяет проводить парсинг без ошибок и приостановок даже на новорегах (непрогретых аккаунтах) в нормальном режиме. В KeyCollector есть отдельная вкладка с настройками cети, где необходимо установить галочку «Использовать прокси-серверы». IP прокси меняется каждые несколько минут, во время смены периодически можно встретить ошибку «Timeout» (это связано исключительно с качеством сети провайдера). При этом на самих аккаунтах все прочие прокси можно убрать. Не забудьте также убрать галку «Использовать основной IP» при парсинге.
Удовольствие не дешёвое — мобильные прокси, пожалуй, самые дорогие из возможных. Тем не менее, пока что Яндекс довольно лояльно относится к заходам с мобильных ip. Долго ли будет работать такой подход — непонятно. В один прекрасный момент все аккаунты могут пойти в бан. Но пока работает, почему бы не воспользоваться? Это реально самый простой и быстрый способ оживить парсинг на сотнях аккаунтов.
Провайдеров мобильных прокси на рынке хватает, вопрос лишь к качеству их услуг и ценам. Нам повезло с первого раза — воспользовавшись сервисом LTEspace нам удалось сразу же оживить парсинг Key Collector на новых (непрогретых аккаунтах) и вот парсинг идет в несколько потоков без каких-либо ошибок. Настройки тарифа для прокси использовали дефолтные, а ценник составил 650 руб./мес. Возможно, есть более бюджетные варианты. Если удастся их найти и протестировать — обязательно дополним эту статью, так что рекомендуем её сохранить в закладки.
Прочие способы не гарантируют отсутствия капчи.
Подмена Cookies
Если нужно собрать только частотку — помогает парсинг Вордстата, через ЯндексДирект с настроенными куками. Правда, капч там может валиться немереное количество, но они хотя бы автоматически распознаются (например, с помощью сервиса Anti-gate).
Вообще, подмена кук история полезная, но KeyCollector не позволяет задать отдельные наборы кук для разных аккаунтов. Поэтому, подмена кук может работать только при парсинге с использованием одного аккаунта. Простановка куков в аккаунте не гарантирует отсутствие ошибки парсинга, разве что немного увеличивает время до появления капчи.
Браузерный и безбраузерный режимы
В целом, особо на результат не влияет, но в браузерном режиме вы можете увидеть саму капчу и пройти её (например, при логине в аккаунт или переходе на Вордстат). Если увидели капчу, прошли её, а парсинг всё равно выдает ошибку, стоит подождать и перезапустить парсинг через полчаса-час. Как писали выше, капчу можно встретить переходя постранично примерно до 8-10 страницы в поиске.
Режим парсинга
Для новых аккаунтов, естественно, лучше использовать безопасный режим. А вот для прогретых аккаунтов вполне подойдет нормальный. Скорость прямо кардинально не влияет на появление капчи. Разве что вы увидите ошибку чуть быстрее.
Выводы:
Дело вовсе не в обновлении программы, как пишут многие юзеры. Ключевая проблема именно в ужесточении мер проверки аккаунтов Яндексом.
Нам реально помогло оживить старые аккаунты:
- Зайти в старый аккаунт с браузера/включить браузерный режим и пройти капчу;
- Приостанавливать парсинг периодически, или после появления ошибки хотя бы на полчаса-час;
- Дополнительный прогрев старого аккаунта тоже облегчит и значительно увеличит время парсинга до появления капчи.
Новореги/непрогретые аккаунты/большое число аккаунтов:
- Использовать динамические мобильные прокси — пока что этот подход работает (запускается в течение 10 минут).
Послесловие
Каких настроек не хватает, и как KeyCollector мог бы облегчить жизнь своих пользователей:
- вывод в каком-либо виде появляющейся капчи в интерфейс;
- дополнительная настройка автоматического времени парсинга/или времени приостановки для каждого аккаунта;
- разные куки для разных аккаунтов;
- инструмент для подмены user-agent при обращении к Яндексу.
Подписывайтесь на Телеграм: @low_digital