Первую капчу сделал Google, эт? ... Как обойти капчу при парсинге сайтов?
Как обойти капчу при парсинге сайтов?...
Первую капчу сделал Google, это был искаженный текст, который, тем не менее, читался людьми. Потом Google представил reCaptcha с использованием изображений, таких как светофоры, пожарные гидранты, пешеходные переходы, лестницы и дымоходы. ReCaptcha V1 исчерапала свой ресурс и была закрыта, зато в 2018 году заработали ReCaptcha V2 и V3. Сейчас различные типы ReCaptcha имеют свои специфические особенности:
- ReCaptcha V2 просит пользователя нажать на чекбокс.
- Невидимая форма ReCaptcha V2 начинает работать при подозрительной активности на веб-сайте. Владелец сайта получает предупреждение, а затем выбирает, как справиться с ситуацией.
- ReCaptcha V3 — это улучшенная непобедимая ReCaptcha. Она анализирует взаимодействие между пользователем и браузером, составляет отпечаток устройства, и отправляет его сайту.
При принятии решения о том, как обрабатывать подозрительные действия на сайте, его владелец может заблокировать подозрительного пользователя, ничего не делать, запросить дополнительную аутентификацию или занести IP-адрес в черный список.
Как работает ReCaptcha? Кроме разгадывания картинок, ReCaptcha добавляет файлы cookie и собирает “отпечатки” устройства — создает профиль клиента (fingerprinting).
Усовершенствованные профили позволяют анализировать движения мыши и аудиосигналы, полученные с устройства. Что тогда нужно сделать, чтобы обойти ReCaptcha? Использование реального IP-адреса от хорошего прокси-сервера — отличный первый шаг.
Обход ReCaptcha
Реальный IP идеально подходит для использования, если вы хотите обойти ReCaptcha. Живые IP-адреса могут быть либо меняющимися, либо статичными, постоянными. Меняющиеся IP-адреса принадлежат реальным пользователям, и они чередуются каждый раз, когда определенный IP-адрес больше не используется. Статический IP, с другой стороны, является постоянным и выдается провайдером для коммерческого использования. Статический IP-адрес похож на меняющийся только тем, что он используется одним клиентом, купившим его, и поэтому никогда не меняется. Если вы посещаете какие-то социальные сети и сайты продажи билетов, лучше использовать статический IP-адрес, поскольку сайт проверяет постоянство IP-адреса для учетной записи.
Многие сайты используют ReCaptcha на важных страницах — для регистрации или при публикации информации. Для них работает так называемый “водопад” — вы начинаете с отправки запросов с использованием IP-адресов центров обработки данных, а затем, сканируя нужные конфиденциальные страницы, меняете их на живые IP-адреса. Такой водопад может обеспечить высокий уровень успеха и сэкономить ваши средства. Примером этого процесса может быть отправка запросов через центр обработки данных. Если отправка запроса не удалась, он отправляется через внешнюю доверенную сеть. Если это так же не удается, запрос автоматически направляется через мобильную сеть.
Наш опыт работы в сфере ИТ
Другой способ использования метода водопада — это маршрутизация запросов через разные географические точки. Это полезно при просмотре сайтов электронной коммерции со страницами продуктов и ReCaptcha. Изменение IP-адреса с одного места на другое может помочь преодолеть ReCaptcha.
Теперь мы обсудим процесс реализации правила изменения URL для переключения между сетями. Важно, чтобы каждому прокси-порту в LPM был назначен отдельный тип сети. Как только это будет сделано и порты будут готовы, вам нужно создать правило, которое будет срабатывать при запросе целевого URL-адреса, и переключать IP-адрес на внешний. В раскрывающемся списке действий выберите «повторить попытку с новым прокси-портом», и он начнет маршрутизацию водопада. В разделе повторных попыток с раскрывающимся списком выберите порт, который вы хотите использовать с новым адресом.
Некоторые простые сайты просто анализируют профиль браузера, его заголовок, и запускают невидимую ReCaptcha. Чтобы предотвратить и обойти это, отправляйте настоящий заголовок браузера и меняйте его для каждого запроса. Вы можете установить значения заголовков браузера на вкладке заголовков в настройках каждого прокси-порта. Если хотите, можете вручную добавить параметры заголовков, включая cookie, accept-language и т.п., введя имя и значение в соответствии с требованиями целевого сайта.
Если вы работаете с API-интерфейсом прокси-менеджера, вы можете установить требуемые заголовки, создав новый прокси-сервер, отправив запрос POST или обновив порт прокси-сервера с помощью запроса PUT при отправке JSON файла конфигурации для порта. В файле конфигурации есть соответствующий массив заголовков с именами и значениями полей заголовка. Например, для определенного сайта вы добавите «cookie» в поле имени, а в поле «значение» — строку для самого куки. При этом вы можете включать одинаковые или разные значения файлов cookie для каждого запроса, одновременно получая различные значения файлов cookie из баз данных файлов cookie, которые относятся к вашему целевому сайту.
То же самое можно сделать в Puppeteer или Selenium, добавив заголовки браузера в ваш код. Хорошей манипуляцией с прокси является разрешение DNS на стороне партнера, а не на стороне супер-прокси. DNS преобразует IP-адрес в URL, и преимущество разрешения DNS на стороне супер-прокси является скорость выполнения запросов. Разрешение на стороне партнера приводит к большей анонимности, особенно когда вы используете бот или сканер. Вы можете разрешить DNS, перейдя на вкладку «Скорость запроса» в менеджере прокси и выбрав удаленное разрешение по пиру в поле поиска DNS.
Некоторые целевые сайты, которые используют ReCaptcha V3 или используют сложные функции анализа, могут создавать отпечатки — собирать данные о движении мыши, рендеринге webRTC, анализировать аудиосигнал и многое другое. Анализ звука можно преодолеть, добавив шум к вашему запросу. Используйте инструмент преобразования текста в речь, чтобы создать нужное аудио, а затем включить его в свой запрос.
Когда запрос содержит звуковую часть, вы заметите, что ReCaptcha V3 отсутствует. Вы также можете добавить другие параметры отпечатка — создать профиль браузера с несколькими входами в систему, холст (canvas), статический шум, WebGL и т.д. Если вы хотите преодолеть ReCaptcha во время сканирования и не прерывать процесс, начните с изменения IP при появлении ReCaptcha. Вы можете сделать это на вкладке правил прокси-менеджера, создав новое правило. Установите триггер на «HTML body element» и для сканируемой строки введите любое слово, которое появляется в консоли браузера. После этого выберите «Повторить попытку с новым IP» и укажите количество повторных попыток, а затем проверьте правило.
Другой вариант обхода капчи заключается в том, чтобы на самом деле решить ее с помощью стороннего сервиса, такого как 2captcha или anti-captcha. Эти две платформы используют реальных людей, которые решают задачи вручную и отправляют вам результаты, после чего вы продолжаете работу. Использование сервисов для определения капчи — не очень удобный вариант, потому что вам придется обнаруживать наличие капчи, а затем подключать сложный API для отправки запроса на решение. Основная проблема при использовании этих сервисов — время отклика. Для того, чтобы капча была решена и отправлена вам, в среднем требуется от 40 до 60 секунд.
Что надо знать об обходе капчи при парсинге сайтов
Капчи раздражают большинство пользователей, и вы наверняка сталкивались с некоторыми из них, пытаясь получить доступ к некоторой информации. Это те сложно читаемые символы, которые вас просят ввести в текстовое поле. При парсинге данных и использовании ботов с ними непросто иметь дело, поэтому вам необходимо более подробно изучить механизмы их работы.
1. Понимание капчи
CAPTCHA — это аббревиатура, обозначающая “Полностью автоматизированный общедоступный тест Тьюринга для различения компьютеров и людей” (Completely Automated Public Turin test to tell Computers and Humans Apart). Это тест используется в вычислительной технике, чтобы отличать живых пользователей от роботов, и широко применяется в Интернете. Вы так или иначе сталкиваетесь с ним либо при совершении покупок в Интернете, либо при входе на сайт, либо в некоторых других ситуациях.
Цель капчи состоит в том, чтобы задавать вопросы и ставить задачи, с которыми компьютеры не могут справиться, а живые пользователи могут. Это, например, строка с символами, испорченными до неузнаваемости. Хотя они выглядят страшно искаженными, люди могут легко разобрать буквы, но для компьютеров они становятся большой проблемой, и именно поэтому тест работает. Даже если вы используете очень сложную автоматизированную систему, которая может сканировать изображения с текстом и распознавать слова в нем, все равно с такими специально испорченными строками у нее будут большие проблемы.
Виды капчи
Существуют различные типы каптч, наиболее распространенными и наиболее встречающимися из них являются текстовая капча, капча, основанная на изображениях, и аудиозапись.
Текстовые капчи обычно состоят из двух частей. Первая — это последовательность случайно сгенерированных символов (цифр и/или букв), которые выглядят искаженными, вторая — текстовое поле. В этом тесте нужно ввести правильные символы в текстовое поле, чтобы доказать, что вы человек.
Некоторые боты могут также пройти этот тест, поэтому для повышения сложности существуют математические капчи. Это простая математическая задача, которую каждый может решить с помощью легко читаемых чисел.
Капчи на основе изображений — другой тип, который использует изображения животных, людей, природных объектов или других случайных объектов вместо текстов, чтобы подтвердить, что пользователь — человек, а не бот. Чтобы пройти тест, пользователи должны выбрать правильные изображения, которые им предлагается идентифицировать, или дополнить изображение недостающим фрагментом, перетащив блок на неполную картинку.
Еще есть звуковые капчи. Эти тесты используют случайные слова или числа из записей в комбинированной форме и добавляют немного шума в звук. Чтобы доказать, что вы человек, вы должны ввести услышанные в записи слова или цифры. С этим типом капчи сложнее всего бороться по сравнению с текстовыми или графическими.
Как работать с капчами во время парсинга
Использование таких систем защиты на сайтах должно гарантировать, что там, где происходят важные взаимодействия с пользователями, люди являются людьми, а не ботами. Примеры таких ситуаций — вход на сайт или оплата услуг и товаров.
Captcha также затрудняет извлечение информации для ботов и спамеров. Она предотвращает недопустимое поведение и спам. Как только бот обнаружен, IP-адрес банится, и у него больше нет доступа к сайту. Поэтому, чтобы обойти эту проблему, вам нужно использовать прокси, чтобы вы могли оставаться анонимными и иметь постоянный доступ к нужному ресурсу.
Во время парсинга веб-страниц важно справляться с капчами, потому что они, в случае появления, будут препятствовать работе краулеров. Лучший способ справиться с капчей — это избежать ее, и есть несколько советов, которые помогут вам в этом.
Действовать как человек, даже если вы используете ботов, — это хороший способ предотвратить появление капчи. Учитывая это, вы должны стараться парсить сайт не слишком часто и понемногу. Однако на страницах входа все равно капчи появляются часто, и их никак нельзя избежать. Вы можете вручную решить такие капчи с помощью Octoparse.
Если вы занимаетесь парсингом и используете собственные сканеры, есть средства для обхода капчи, которые вы можете интегрировать в свой код. Примерами являются Bypass CAPTCHA и Death by CAPTCHA. Эти два сервиса позволяют вам подключаться через API и автоматически решать задачи во время скрапинга. Эти инструменты могут решить и CAPTCHA и ReCaptcha.
Расширения для веб-браузеров, которые умеют обходить и решать капчу
Подразумевается, что компьютеры CAPTCHA решить не могут, но людь их понять способны. Это не всегда так, потому что даже людям с хорошим зрением иногда трудно увидеть, что там написано. Некоторые типы капчи могут быть очень раздражающими, как, например, Google Recaptcha. Здесь вы не просто решаете одну головоломку, но иногда вам нужно решить до четырех головоломок последовательно. Если вы ошибетесь, придется начать заново — пока вы все не решите правильно, и это может быть очень раздражающим.
Имея дело с капчей, вы можете использовать расширение для браузера, которое решает его за вас и избавляет от стресса, связанного с самостоятельным прохождением этого теста. Это будет особенно полезно для тех, кому трудно правильно распознать капчу, расширение сэкономит ваше время и избавит от напряжения.
AntiCaptcha
AntiCaptcha — популярный и рекомендуемый сервис решения CAPTCHA. Расширение доступно для браузеров Chrome и Firefox, и является платным сервисом. AntiCaptcha может автоматически решать Google ReCaptcha, FunCaptcha, GeeTest и ряд других. Для работы вам просто надо кликнуть правой кнопкой мыши на текстовом поле и выбрать «Найти и решить капчу» или использовать сочетание клавиш Ctrl + Shift + 6.
Решение капч в среднем занимает от 5 до 20 секунд, а ReCaptcha занимает в среднем от 30 до 60 секунд.
Buster: Captcha Solver for Humans
Buster — это бесплатное расширение с открытым исходным кодом, которое решает ваши капчи без какой-либо оплаты. Оно решает звуковые капчи с помощью распознавания речи. Однако его недостатком является то, что его можно использовать только для решения проблемы Google ReCaptcha. Но поскольку это очень распространенная форма капчи, вам, скорее всего, этого расширения хватит для всех задач. Buster совместим с браузерами Chrome, Firefox и Opera.
Использовать Buster Captcha Solver очень просто. Расширение работает всего в несколько кликов. Когда всплывет ReCaptcha, вы нажимаете «Я не робот», чтобы открыть доступ к вариантам испытаний. Внизу появится зеленый и оранжевый значок, нажав на него вы откроете окно голосовой проверки и сможете с помощью Buster начать его решение. Buster решает все довольно быстро — обычно на один тест уходит менее 30 секунд.
Пока Buster решает, вы будете видеть в окне круглый значок. Он исчезнет, если расширение решит задачу, но в случае неудачи просто нужно будет получить новую запись, нажав на крайнюю левую иконку.
Rumola
Rumola Captcha Solver работает с капчами, где вам нужно вводить слова, цифры или решать математические задачи. Оно не может решить Google ReCaptcha или капчи на основе изображений. Rumola может автоматически искать капчи после загрузки страницы, и вы можете отключить эту опцию в меню расширений вашего браузера.
Когда на странице обнаружена капча, Rumola накладывает небольшой значок на изображение и текстовое поле для ответа. То, что вам нужно сделать, это дважды щелкнуть внутри пустого текстового поля, и Rumola получит управление и начнет решить капчу. Если капча не обнаружена, можно попробовать найти ее самостоятельно или через меню расширений.
Если и после поиска на странице ничего не обнаруживается, можно щелкнуть правой кнопкой мыши на изображении и выбрать «Распознать это изображение как капчу». Если всплывающая небольшая иконка не станет анимированной, кликните правой кнопкой мыши на текстовом поле ответа и выберите «использовать это поле для ввода капчи». Один из указанных вариантов распознает и решит вашу капчу за 5-10 секунд.
Rumola — платный сервис по поиску капчи, и при первой установке вы получаете 5 бесплатных кредитов, которые вы можете использовать для тестирования.
Recaptcha Solver
Этот “агрегатор” не принадлежит какой-либо конкретной компании. Перед использованием этого расширения вам необходимо зарегистрироваться и приобрести кредиты у DeathByCaptcha, 2captcha, ImageTypers, Anti-Captcha, BestCaptchaSolver или EndCaptcha. После покупки вы можете выбрать службу капчи в раскрывающемся меню и ввести либо ключ API, либо имя пользователя и пароль.
Выводы
Ввод капчи является проблемой для многих пользователей интернета, особенно для тех, кто занимается парсингом веб-страниц, так как сканеры не могут распознать символы и самостоятельно пройти тесты. Это блокирует весь процесс получения данных и защищает сайт от извлечения информации. Капчи — это не только неприятность для ботов, но и проблема для реальных людей, пусть даже с хорошим зрением,. Вот почему существует большая необходимость в обходе капч и эффективном их решении..