Данная статья несёт исключительно ознакомительный и образовательный характер.
Всем привет! Сегодня я научу вас создавать не самый простой чекер на HTTP запросах в BAS с автоматическим решением ReCaptchaV2 на примере сайта RuCaptcha. Данная статья не относится к типу для новичков, вы уже должны понимать что такое HTTP запросы и как они работают. Если статья понравится, то я могу сделать ещё больше статей про BAS.
Прошлая статья про HTTP запросы в BAS: zelenka.guru/threads/2853560
Этап 1. Приготовление.
1. В самой последней версии BAS вернули снифер трафика, поэтому можете использовать её, но я же использую версию 23.1.1, она работает стабильнее. (На момент 2023 года, можно использовать любую версию BAS, лучше самую последнюю.)2. Как и всегда первым делом мы создаем проект.
3. Как и с авторегером мы должны загрузить главную страницу, при этом включив запись трафика.
4. Оставляем только главный GET запрос на нужную нам страницу и удаляем с неё пункт Cookie.
5. Дальше можете проверить работоспособность GET запроса и открыть лог с анализом трафика в BAS и нажать кнопку посмотреть, чтобы убедиться, что страницу грузится корректно.
Этап 2. Работа с капчей.
6. Как вы уже поняли на данном сайте есть ReCaptchaV2 и мы будем её решать. (Есть и другая капча, но я решил показать на этой)
7. Для начала нам нужно получить значение data-sitekey. Как правило оно всегда одно и не меняется почти никогда.
8. Доходим до окна с ReCaptchaV2, открываем код элемента и ищем data-sitekey (!!! Не всегда можно так легко получить это значение, иногда оно лежит под другим названием, но если вы запомните как выглядит этот ключ, то искать на других сайтах не составит труда). Копируем это значение и сохраняем куда-то в текстовик.
9. Теперь нужно сформировать запрос на отправку сайту по антикапче задания на решения нашей капчи. Для того чтобы решить капчу на RuCaptcha я использую тот же RuCaptcha и свой личный рабочий аккаунт.
10. Наш GET запрос будет выглядеть следующим образом:Расшифровка ссылки:http://rucaptcha.com/in.php?key=API_KEY&method=userrecaptcha&googlekey=DATA_SITEKEY&pageurl=URL_CAPTCHAКодhttp://rucaptcha.com/in.php?key=API_KEY&method=userrecaptcha&googlekey=DATA_SITEKEY&pageurl=URL_CAPTCHA
API_KEY - наш ключ антикапчи для решения этой самой капчи
DATA_SITEKEY - наш недавно полученный data-sitekey
URL_CAPTCHA - ссылка на страницу с этой капчей
Заполняем ссылку нашими данными и получаем:Свой API_KEY я не вписал, чтобы не юзали мой балик :)http://rucaptcha.com/in.php?key=API_KEY&method=userrecaptcha&googlekey=6Lf8ExEdAAAAABX8qwy8cMio7faLSTaNmcgj8K7e&pageurl=https://rucaptcha.com/auth/login/captchaКодhttp://rucaptcha.com/in.php?key=API_KEY&method=userrecaptcha&googlekey=6Lf8ExEdAAAAABX8qwy8cMio7faLSTaNmcgj8K7e&pageurl=https://rucaptcha.com/auth/login/captcha
11. Отправляем запрос и если всё сделали правильно, то получаем ответ в виде ID с задачей на решение нашей капчи.
12. Осталось только получить это значение в переменную, с помощью стандартных функций BAS.
13. Чтобы проверить решилась ли наша капча, нужно добавить новый GET запрос вида:Где:http://rucaptcha.com/res.php?key=API_KEY&action=get&id=ID_CAPTCHAКодhttp://rucaptcha.com/res.php?key=API_KEY&action=get&id=ID_CAPTCHA
API_KEY - наш ключ антикапчи
ID_CAPTCHA - айди нашей задачи на rucaptcha
И получаем запрос:
14. Если в ответе мы получаем CAPTCHA_NOT_READY, то значит наша капчу ещё не решили и нужно подождать. (Обычно от 1 минуты)
15. Если же нашу капчу решили, то мы получаем айди нашей решенной капчи, получаем его значение также как делали и для айди капчи.
16. Чтобы понять решилась ли наша капча или нет делаем вот такой цикл.
17. Работа с капчей на данном этапе завершена, переходим к авторизации.
Этап 3.1. Авторизация (API).18. Открываем страницу с нашим сайтом в BAS, вводим любые значения, доходим до капчи и начинаем записывать трафик.
19. Решаем капчу и удаляем все полученные запросы, кроме одного. Это тот самый POST запрос авторизации.
20. Из него также удаляем cookie и в нём заполняем данные от нашего аккаунта. (Для теста нужно валидный и нет). Также в поле answer указываем полученный айди решённой нашей капчи.
21. Отправляем запрос и если всё сделали правильно, то получим token, если же нет, то получим ответ error и описание этой ошибки.
22. Также парсим полученный нами токен вот таким образом. Второй скрин это функция с модуля JSON.
23. Теперь нам нужно сделать снова авторизацию, но уже с валидным аккаунтом, если до этого был невалидный. И оставить из всех запросов вот этот.
24. Открываем его настройки, удаляем куки, но без auth_token туда мы вписываем свою переменную с токеном.
25. Выполняем запрос и если вы сделали всё правильно, то получаем ответ с информацией о нашем аккаунте, с него нужно спарсить баланс тем же модулем JSON.
26. И финальным шагом будет сохранить логин, пароль и баланс в текстовой документ, но перед этим нужно сделать все проверки на валидность этого аккаунта, чтобы не возникли ошибки. Вот примеры проверок.
1) Решилась ли капча
2) Валидные ли данные аккаунта
27. Это всё конечно хорошо, но что если у нашего сайта не было бы встроенного API. Тогда нам придётся получить нужные значения через загрузку всей страницы с информацией о нашем аккаунте и через Xpath спарсить значение баланса. Это было описано в прошлой статье, поэтому тут я опишу не очень подробно.
Этап 3.2. Авторизация (Xpath).28. Делаем всё также до пункта 23. Но вместо запроса на API о информации аккаунта, делаем запрос на главную страницу с основной информацией о аккаунте после авторизации, в нашем случае
. Также удаляем там cookie.https://rucaptcha.com/enterpageКодhttps://rucaptcha.com/enterpage
29. Далее открываем через просмотр BAS полученную страницу.
30. Берём курсор в коде элемента и выделяем наш баланс. И тут самое важное, как же сформировать запрос для парсинга через Xpath.
31. У меня получился вот такой вот результат для парсинга: //div[@class="balance-value"]/span
Так как я не шарю в HTML, то опишу своим языком:
div - первое что стоит в нужном нам значение
class="balance-value" - класс, который помогает определить этот div от других
span - там где хранится значение с нашим балансом
Можно конечно не сокращать запрос до такого вида и проста нажать ПКМ по балансу COPY - XPATH.\
32. По итогу мы получаем значение нашего баланса в переменную BALANCE. Осталось только сохранить аккаунт.
Этап 4. Заработок.33. Допустим вы продаёте аккаунты с какого сайта и чекаете всё вручную и софта под данный сайт ещё не сделали, то можете сами сделать подобный чекер и в разы быстрее проверять аккаунты и продавать товар. Можно также продавать и аккаунты RuCaptcha за 50% от баланса. Но если у вас свой сайт с продаваемыми аккаунтами, то свой софт вы также можете продать кому-то другому. Главное научиться и делать такие софты, которые нужны многим людям, но их ещё не существует или же они слишком дорогие. Как говорится всё в ваших руках.
Этап 5. Заключение.34. После полной отладки софта, вы можете приступать к работе или же просто продать его. Основным смыслом данной статьи было показать не как заработать денег, а как работать с решением капчи через запросы.
35. И конечно же, я бы был не собой, если бы не слил весь проект с этой статьи вам на изучение, чтобы точно понять как всё работает.
Возникли вопросы? Обращайтесь: Telegram | llimonix
Могу написать софт под ваши сайты, но не бесплатно, писать по тому же телеграм
Загрузка...

Чекер на HTTP запросах в BAS с решением ReCaptchaV2 и заработок на этом