reCAPTCHA на поиске google.com
UPD 29 мая 2020. Рекомендуем слать прокси и куки, подробнее в следующей статье.
Главное
Решение капчи на поиске google.com работает, но вы должны отправлять дополнительный параметр - "data-s", взятый из переменной "data-s" на странице с капчей. Более подробно ниже.
Что случилось
Начиная с 18 мая на странице //google.com/sorry/index reCAPTCHA стала не всегда приниматься с первого раза. Изначально проблема была не очень заметна и случаи непринятия токена списывались на случайность, но постепенно процент таких случаев рос и к субботе-воскресенью достиг практически 100% запросов.
К сожалению, по началу мы списали это на ошибки в работе самого google.com, т.к. даже при ручном прохождении через браузер он иногда повторно отдавал капчу и не стали особо разбираться с ситуацией (возможно в тот момент действительно были проблемы со стороны google, сейчас такой ситуации уже не происходит)
К 25 маю мы осознали всю глубину проблемы, когда остановились практически все сервисы парсинга позиций\сбора семантики и другие взаимодействующие с поиском на google.com.
Как теперь правильно слать капчу с google.com/sorry/index
- Вам нужно со страницы /google.com/sorry/index взять параметр, находящийся в переменной "data-s" и прислать его нам в параметре "data-s". Значение data-s каждый раз новое.
- Вы ни в коем случае не должны отрабатывать JS подгружающие саму капчу на странице google.com/sorry/index. Если у вас прогрузится капча на странице, а потом Вы пришлёте нам данные от этой капчи, то токен полученный нами работать не будет. С одним data-s капча может быть загружена только один раз.
Что мы ещё знаем о новой капче
- Google реализовал недокументированный функционал. В документации к reCAPTCHA V2 никакой data-s нет.
- Data-s всегда уникальный и reCAPTCHA контролирует что бы одна один data-s открывался только один раз. Поэтому если Вы открыли страницу с капчей и у вас она прогрузилась, то мы уже не сможем никаким образом дать рабочий токен для обхода капчи на этой странице. Вы должны брать HTML код страницы, брать оттуда значение data-s и присылать нам.
- Помимо Data-s reCAPTCHA реализовала ещё несколько хитрых приёмов - они контролируют целостность данных на странице с капчей. Анализ именно этого момента у нас отнял больше всего времени (т.к. нам пришлось по новой изобретать как выводить reCAPTCHA работнику), но вам об этом не нужно беспокоиться, это всё делается с нашей стороны.
- Proxy, UserAgent и Coockie пользователя не влияют на прохождение. Решаться reCAPTCHA может с IP из Филиппин, с UserAgentom Mozilla FireFox и куками работника, а токен Вы используете со своего IP, со своим UserAgent и своими куками.
Однако, если Вы пришлёте нам свою прокси и свой UserAgent мы будем их использовать. Как это сделать - описано в API
Благодарности
A-Parser. Подтолкнули нас в сторону правильного решения и помогли с тестированим. Кстати, по нашему мнению A-Parser является самым мощным парсером поисковых систем и всего остального что нужно для SEO, а в последние годы A-Parser научился парсить что угодно, вы можете даже спарсить даже Amazon, ведь у A-Parser есть серверная версия, которая действительно поддерживает неограниченное количество потоков (ограничено лишь производительностью вашего сервера), а результаты парсинга может складывать сразу в SQL-базу.
Топвизор. За то, что заставили нас поверить в наличие проблемы. Кстати, именно через Топвизор мы следим за позициями нашего сайта в поиске.
UPD
UPD: Что-то не очень хорошие результаты у нас получаются. Продолжаем исследование. Если хотите следить за последними изменениями, то заходите на эту тему: https://captchaforum.com/threads/google-search-obnovlenie-ot-18-maya-2020.683/