Практично кожен користувач всесвітньої мережі, незалежно від пристрою, рано чи пізно стикається з капчею. Це ті самі символи, що складно читаються, які потрібно ввести в текстове поле для отримання доступу до потрібної інформації. Але якщо у людей немає питань до того, як обійти капчу, то розробники додатків для парсингу мають серйозні проблеми. Адже цей інструмент дозволяє розпізнати та заблокувати бота, тим самим зупинивши процес отримання потрібних нам даних.
Що таке капча?

Розшифровка абревіатури CAPTCHA – Completely Automated Public Turin Test to tell Computers and Humans Apart. У перекладі з англійської – Повністю автоматизований загальнодоступний тест Тьюринга, що розрізняє комп’ютер від людини. І в більшості випадків, стикаючись з ним, боти парсерів просто не знають, що робити далі.
Адже основна мета цього інструменту – поставити питання чи поставити завдання, впоратися з яким зможе лише людина. “Класичний” приклад – зображення з сильно спотвореними символами латинського або кириличного алфавіту. Для «живого» користувача, розшифровка капчі дратівлива, але цілком можлива, тоді як машина зіткнеться з логічною помилкою, припинивши будь-які подальші дії.
Вперше, тест Т’юрінга в інтернеті ввели розробники Google (той самий спотворений текст). Трохи пізніше медіагігант представив першу ітерацію reCaptcha, де замість букв, цифр і символів використовуються світлофори, автомобілі, сходи, димарі тощо. Але завдяки стрімкому розвитку алгоритмів машинного навчання, розробникам роботів для парсингу вдалося навчити робота обходити цей захист. Тому в 2018 році в Гуглі оголосили про запуск 2 і 3 версії реКапчі, які відрізняються від свого прототипу:
- Вимогою натиснути на чекбокс – кнопку «надіслати рішення» для перевірки сервісом (V2);
- Запуск при виявленні підозрілої активності (з наступним повідомленням власника сайту, та ж V2);
- Інтелектуальним аналізом взаємодії користувача з браузером, вивченням відбитка пристрою з подальшою передачею інформації на сервер пошуковика і в адмін-панель сайту (V3).
Причому саме третя створила найбільшу кількість проблем і сьогодні вважається «непереможною». А власник сайту може вибрати три варіанти розвитку подій при виявленні підозрілої активності: запросити додаткову автентифікацію, заблокувати користувача або занести «сумнівну» IP-адресу до чорного списку. Або просто проігнорувати попередження.
Основні види та особливості ReCaptcha

Для захисту від роботів розробники застосовують різні види капч. Найпоширенішими вважаються “класичні” текстові. Останніми роками їх витіснила графіка. На окремих зарубіжних ресурсах можна зустріти аудіозаписи.
Щоб зрозуміти, як вони працюють, розберемо кожен із видів капчі в деталях.
- Текстова. Зазвичай, складається з двох частин – послідовності випадково згенерованих символів (літер, цифр) із спотворенням, а також текстового поля для введення розшифрованої інформації;
- Математична. Варіація, де замість тексту система ставить найпростіший приклад, вирішити який зможе навіть дитина. Вважається пережитком минулого, оскільки боти навчилися «бачити» графіку та вирішувати їх;
- Зображення. Сервіс пропонує на вибір 6-9 різних фото, вимагаючи зазначити наявність конкретного предмета – тварини, автомобіля, світлофора, літака, корабля, пішохідного переходу тощо. Або – перетягнути блок у порожнечу на зображенні;
- Звук. Система відтворює випадкові слова або числа, додаючи трохи шуму фону. Завдання користувача – почути сказану фразу та ввести її у текстове поле.
І якщо для перших трьох розроблені інструменти, які здійснюють автоматичне введення капчі, то з останнім у парсерів виникають величезні проблеми. Проте через високу вартість підтримки зустрічається вона вкрай рідко.
Обхід капчі під час парсингу

Мета системи захисту Captcha – виключити можливість попадання ботів на сторінки, де відбувається взаємодія з користувачами. Тому найчастіше вона спливає при вході на сайт, а також у формі оплати послуг або товарів в інтернет-магазинах. Причому прибрати перевірку на робота практично неможливо.
Адже нинішні ітерації капчі аналізують користувача за десятками параметрів: від пристрою до поведінки на сайті. При виявленні бота IP-адреса, з якої той надсилає запит, блокується і заноситься в чорний список. Що стосується парсерами, це призводить до зупинки сканування та подальшого вилучення потрібної нам інформації.
Але оминути цю проблему реально. Особливо – з проксі-серверами, що «підміняють» IP бота із заданою періодичністю. Проте це може «гальмувати» процес. Тому найкраще рішення – уникнути запуску перевірки. Для цього бажано:
- Налаштувати робота на імітацію поведінки реальної людини;
- Задати правильну швидкість і адекватний обсяг інформації, що видобувається;
- Налаштувати user-agent, замаскувавшись під роботі пошукової системи.
А при розробці самописного скрипту, щоб уникнути проблем, можна використовувати засоби обходу, вбудовуючи їх у код майбутньої програми. Практично всі сервіси анти-капчі мають власні API, що зв’язують вашу програму з серверами, на яких вони розміщені. Причому частина їх безкоштовна, другі – з адекватними цінниками, тоді як треті підкріплюють вартість стабільністю роботи додатків.
Розширення браузерів для обходу капчі

В ідеалі, у людини не повинно виникати проблем із вирішенням цього завдання. Проте системи можуть спотворити символи до невпізнання. Крім того, та ж reCaptcha може бути дуже дратівливою, пропонуючи вирішити головоломку до 4 разів поспіль, а одна помилка змусить почати все спочатку. Добре, добрі люди вигадали десятки розширень і плагінів для браузерів, здатних вирішувати капчі різної складності, щоб позбавити дратівливих користувачів від зайвих тригерів для стресу.
Buster: Captcha Solver for Humans
Абсолютно безкоштовна антикапча з відкритим кодом. Може вирішувати текстові, математичні, графічні та звукові завдання. Однак працює тільки з reCaptcha від Google. Втім, більшість користувачів цього буде цілком достатньо, т.к. практично всі розробники сайтів користуються саме реКапчею. Сумісний з усіма популярними браузерами, що підтримують плагіни, аддони та розширення – Chrome, Firefox, Opera.
Щоб запустити Buster, при вильоті вікна капчі достатньо натиснути на зелений або помаранчевий кружок. У більшості випадків, рішення однієї задачі забирає не більше 30 секунд, на час очікування скрипт підтягує анімацію завантаження. Якщо головоломка не вирішена, достатньо натиснути кнопку повтору.
AntiCaptcha
Один з найпопулярніших сервісів рішення капчі, що рекомендується до застосування більшістю програмістів та веб-розробників. На відміну від Buster, для встановлення потрібно внести невелику плату, купивши плагін у магазині розширень Chrome або Firefox. Успішно розпізнає та вирішує головоломки, що генеруються Google, Яндексом, FunCaptcha, GeeTest та іншими системами захисту.
Щоб запустити розширення після встановлення, достатньо клацнути правою кнопкою миші в полі введення рішення, вибравши пункт “Знайти та вирішити Captcha”. Або використовувати клавіші Ctrl (в комп’ютерах Apple – Command) + Shift + 6. У середньому, на вирішення одного завдання йде від 5 до 20 секунд. З reCaptcha сервіс справляється за 30-60.
Recaptcha Solver
Являє собою своєрідний «агрегатор», що дозволяє користуватися відразу кількома сервісами (на вибір після купівлі спеціальних кредитів):
- DeathByCaptcha;
- 2captcha;
- ImageTypers;
- Anti-Captcha;
- BestCaptchaSolver;
- EndCaptcha.
Після переказу коштів ви зможете вибрати вподобану вам службу в меню, забравши ключ її API, або отримати логін і пароль, що відкривають повний доступ до одного з сервісів.
Rumola
Інструмент для роботи з текстовими та математичними капчами. Не сприймає графічні головоломки, на яких будується reCaptcha, але примітний автоматичним виявленням перевірки з її вирішенням без втручання користувача. Однак, ця опція корисна далеко не завжди, тому її можна вимкнути у налаштуваннях розширення на відповідній сторінці браузера.
Алгоритм роботи Rumola Captcha Solver простий: при виявленні капчі алгоритм ставить мітку на зображення і текстове поле для відповіді. Для запуску програми достатньо клацнути по полю лівою кнопкою миші двічі. У випадку, коли плагін не зміг виявити головоломку, ви можете вказати на неї самостійно через праву кнопку миші, вказавши на зображення із загадкою та поле для введення відповіді. Середній час розв’язання задачі – 5-10 секунд.
Rumola – платний плагін. Тим не менш, спробувати його у справі можна і безкоштовно: після встановлення ви отримуєте 5 кредитів, що дозволяють протестувати його на різних видах текстової чи математичної капчі.