BAS

BAS


НАСТРОЙКИ

Стандартные настройки числа потоков:

Данные для ввода при регистрации. Дата рождения генерируется в разумных пределах. Если пароль и почта идет в одну строку, строка парсится на почту и пароль. Если нет - дополнительно нужно вводить пароль от почты (когда регал почты сам, у меня был везде один и тот же пароль), чтобы в будущем отобразить его в логе с готовым аккаунтом.
Можно было бы и не делить ФИО по разным файлам, а сделать все в одном и затем спарсить как надо.

Настройки для получения номера телефона и дальнейших действий с ним. Более чем хватало 3 сервиса. "Хранилище API-ключей" нужно только для того, чтобы была возможность при смене сервиса быстро скопировать и вставить ключ. Предполагаю, что можно было это сделать проще. Например, чтобы при выборе определенного сервиса автоматически подтягивался нужный ключ.


Подтверждение почты. Если первая настройка "Да", то скрипт кликает кнопку на сайте Эльдорадо и на почту приходит соответствующее письмо.
Была попытка сделать чтобы скрипт входил в почту, кликал на письмо и переходил по ссылке, но потом оказалось что письма очень долго приходят, да и нет смысла в подтверждении почы вообще.

Просто готовые аккаунты:

Прокси. Можно было бы сделать проще, мне уже подсказали что я заколхозил)

Еще был такой варинт, но файл с проектом потерялся. Тут был отельно адрес, отдельно порт (да, у меня ошибка во второй строке), ну и соответственно отдельно логин и пароль. Суть была в том, что IP этих мобильных прокси я мог сменить переходом по ссылке. У меня было 3-4 прокси на этом сервисе, все имели одинаковый логин и пароль, и соответственно разные адреса и порты.
Ссылка для смены имела вид MobileProxy/ApiKey=***************&port=****
Несмотря на колхозность, это успешно работало в 2-3 потока, чего для меня было достаточно.

Дополнительные 50 баллов давались за клик по кнопке "Я сегодня дома". Можно было проделывать это сразу после регистрации.


КОД

Начало:


ProxySet:
При соответствующей установке используются прокси (возможно вставка их в HTTp-клиент лишняя, хватит использования в браузере). IP проверяется на сайте api.ipify.org, содержимое выводится в лог. Слышал подобная функция есть в BAS, но сделал как сделал. Также получаем новый Fingerprint и применяем его.


EldoradoStartPage:

Сайт с формой для ввода данных. Отключаем бесполезные картинки для ускорения работы скрипта. Проверяем, есть ли уведомление о скидках, при необходимости закрываем (это действие будет использоваться еще не один раз в будущем).


EldoradoSignUp:

Наконец-то сама регистрация. Если почта и пароль в одну строку - скрипт парсит строки и разделяет их. Дальше ввод всей информации, ввод телефона пришлось заколхозить немного, сайт подставлял или 7, или +7 каждый раз. Поэтому делается обычная вставка текста (без эмуляции ввода), затем нажатие Enter.
После регистрации очень редко было несколько вариантов поведения сайта, но я все равно попытался чуть настроить эти моменты. Если после регистрации кидало на авторизацию, скрипт завершался, такие аккаунты в лог не попадали (было выявлено, что часто с них сразу же обнуляли баллы).
Далее была проверка начисления баллов. Если есть 1 000 - все хорошо. Нет - скрипт перезапускается, аккаунт в лог не идет.


Действия после регистрации:


Тут всегда использовался "EldoradoVerification2", второй вариант оказался неудачным из-за незнания работы бонусной системы (но я его оставил зачем-то). На списывание баллов нужно в любом случае принимать код, поэтому я использовал свои личные номера (Эльдорадо был не против, что на аккаунтах используется один и тот же номер).

EldoradoVerification2:

Переход в профиль для смены номера на личный. Для этого на арендованный номер принималась СМС, скрипт вводил код на сайт, личный номер успешно привязывался к аккаунту (окно об успешном смене номера проверялось).
СМС от двух сервисов приема СМС пришлось парсить, так как они выдавали полное сообщение. На 5sim же сайт присылал в ответ только код. Может есть способ попроще, тем не менее все работает.
Также при соответствующей настройке скрипт кликал на кнопку для получения на почту ссылки для подтверждения аккаунта, если письмо. Если сообщения об удачной отправке на почту не было, в лог выводилось соответствующее сообщение.


Это не использовалось, но тоже оставил:


Окончание работы скрипта:


Если стояла настройка, что нужно добавлять аккаунты в файл, скрипт получал текущую дату и время (скрипт нашел на форуме BAS).
В лог добавлялись подобные строки:


Еще пара условий:


Если почта и пароль были изначально отдельно, то вставлялись они из ресурсов, а не из переменных, как было при парсинге строки.
Если же стояла настройка, что аккаунт в файл добавлять не нужно, данные просто выводились в лог.


Ну и последнее, при соответствующей настройке был переход на страницу акции, кликалась кнопка "Я сегодня дома". Несмотря на простоту это оказалось проблемным местом. Часто менял действия "спать", так ак уведомление о скидках, которое нужно закрыть, появлялось не сразу.


В заключение могу сказать: лучше бы делал на запросах!
В Fiddler или BAS можно было выловить запросы, но на момент создания скрипта для меня не существовало других вариантов. Но тем что сделал доволен.
















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Report Page