VKTarget Pirate



  • Всем привет. Решил не сидеть сложа ноги и попутно натворить ещё кучу интересных подвигов !

    Создают много поточный грабитель для VKTARGET !

    Первая проблема с которой я столкнулся это реализация выполнения заданий

    Вопрос который меня интересует он простой.

    На странице много заданий. Все элементы имеют свои порядковые номер.
    1.задание
    2.задание
    3.задание

    И так далее !

    Но элемент вызова исполнения задания у всех одинаковый !
    А вот текст разный !

    Пример:

    Вступить в СООБЩЕСТВО <--- (Это ссылка)
    Вступить в ГРУППУ <--- (и это ссылка)

    Оба задания с одним и тем же CSS и MATCH

    В общем прошёл авторизацию, получил задание.
    Создал цикл и назначил ждать появления элемента 1.Задание

    Но заданий выпало сразу много и БАС не кликает на нужный мне ЭЛЕМЕНТ так как у всех заданий один и тот же CSS и MATCH

    Как сделать так, чтобы он реагировал только на первое задание?

    Логика скрипта будет такой:
    1.Каждый цикл БАС обновляет список заданий
    2.Обнаруживает задание
    3.Выбирает 1.Задание и его выполняет его.

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

    Очень интересно мнение опытных специалистов и ваши предложения. Естественно со всеми участниками поделюсь Пиратом бесплатно в качестве благодарности !

    Ну что поработаем сообща друзья ?



  • Может клик по координат при том или ином задании?
    У тебя нормально грузится страница vktarget в BAS? Я смог загрузить её только путем замены html кода страницы



  • Клик по координатам не то пальто. Потому что вызов самого задания в разных местах. У каждого задания ссылки находятся в разом месте.

    На счёт полноценной загрузки сайта, нужно мышкой пошевелить. Я сделал так. Авторизовался, затем переместил мышь на счётчик сообщений в правом верхнем углу.

    Тока ты делай перемещение на баланс. или в другое место.

    Ну мало ли что там за гении у них сидят !



  • Не. Я про координаты в зависимости от текста <p (или что там) Вступить в
    Через If.

    Хотя сейчас вот подумал, что это не прокатит. Он же несколько выдает...



  • Я пока налепил авторизацию во всех соц сетях и в вктаргете...



  • Ребят ну что подскажет кто, ответ на вопрос в первом посте ?



  • Попробуй кликать с помощью javascript, вот таким скриптом:

    document.getElementsByClassName("classname")[1].click();
    

    Где 1 - номер элемента. Только учитывай, номера начинаются с 0, а не с 1. К примеру, если нужно кликнуть на первый элемент, ты пишешь 0, если на второй - нужно написать 1 и т.д.



  • Кстати такой вопрос - почему это MATCH у элементов одинаковый? Можно же по тексту кликать, просто вместо кода пишешь текст элемента



  • А там дело в том что на верху в шапке написано слово. Сейчас попробую конечно.



  • Помогите составить логику скрипта. Вот как выглядит страница

    0_1484217088805_Screenshot_1.png

    В верху в шапке есть слово СООБЩЕСТВО как и в ЗАДАНИЯХ
    Могу ли искать по тексту в определённом CSS классе и как ?

    Далее планирую создавать ФУНКЦИЮ для каждой соц сети с выполнением задания

    К примеру ФУНКЦИЯ VK имеет несколько вариантов заданий:

    Вступить в сообщество
    Поставить лайк
    Рассказать друзьям
    Разместить пост
    Добавить видео
    Рассказать о сайте
    Рассказать о группе
    Сопровождение группы услугой 'Рассказать друзьям'
    Сопровождение группы услугой 'Поставить лайк'
    

    А поиск, ожидание и выбор задания сделать уже в основном скрипте.
    Потому что социальных сетей 6шт и заданий будет много разных и лепить одну большую верёвку не практично. Так что без ФУНКЦИЙ здесь не обойтись.

    Теперь важный момент !

    Как составить логику скрипта чтобы искал ожидал и вызывал задания ?
    И как сделать так чтобы кликал на ссылку по тексту в определённом месте или CSS классе ну или MATCH ?



  • Допустим он начнёт выполнять первое задание из списка а после выполнения обновит его.

    Далее как определить какую функцию ему запустить для выполнения заданий ?
    Если у Facebook и Vk одинаковый текст задания "Поставить лайк на странице"

    Выходит функции надо создавать не для соц сетей а для самих заданий.

    Например: Поставить лайк на странице
    Проверить существует ли элемент, если да то жмыкнуть !
    Если нет, проверить существует ли другой элемент, если да то жмыкнуть.
    И т.д. да ?

    Потом проверка задания и если задание не выполняется, то скрыть его и закрыть лишнее окно !



  • Может регуляркой просто парсить задания со страницы и уже с помощью отдельных функций их выполнить допустим во второй вкладке? А потом нажать "Проверить" везде на этой странице, и всё.



  • А как это сделать ? Как это регуляркой ?



  • @freeliman если использовать if, то получится очень муторно. В общем ещё я придумал такой алгоритм, который будет действительно удобный в данном проекте:

    1. Заходишь на страницу с заданиями, берёшь исходный код, с помощью нескольких регулярок парсишь нужные тебе ссылки со страницы. Одна регулярка парсит задания "Поставить лайк" и кидает их в один список, вторая парсит "Вступить в группу" и записывает ссылку в свой список, и т.д.
    2. Потом делаешь разные функции для разных действий и запускаешь их поочерёдно. В функции сделать проверку, есть ли задания в списке. Легче всего просто брать "Количество элементов в списке" и делать цикл с этим значением.
    3. После просто берёшь и подтверждаешь действия.

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



  • @freeliman в вики должно быть как это делать, долго объяснять



  • Ну если он будет работать в много потоков, то лучше сделать так чтобы выполнял разные задания на разных потоках.

    Пример:
    1.Поток ставил лайк
    2.Идёт в группу
    3.Делает репост
    4.Подписку в други

    Все они обновляют список и выполняют по 1 заданию.
    Один фиг шанс перехватить больше заданий будет выше.

    А если прям все перехватывать, то думаю тут уже будет наглость по самые админские яйца !



  • Сейчас я могу запускать лишь первое задание из списка. Всё равно что там будет написано, БАС будет запускать первое задание.

    А вот как дальше определить какую функцию ему запустить ?
    Чтобы если лайк то искать элемент лайк.
    Если в группу то искать элемент вступить.

    Но как быть если лайк а там группа и он найдёт ВСТУПИТЬ ?



  • Ну так что? Как сделать определения заданий ?

    Есть значение вот такого рода одно на все задания

    CSS         :nth-child(1) > :nth-child(2) > p > :nth-child(2)
    MATCH   <a rel="nofollow noopener" data-bind="ur
    

    К примеру появилось задание 1шт
    БАС нажимает выполнить задание ЛАЙК
    Задание рандомное и бас ещё не знает какую функцию выполнять.

    Как ему теперь приказать чтобы он поставил лайк определяя соц сеть. Допустим это ВК, FB или Твиттер ?

    Есть одно слово ЛАЙК и куча соц сетей.

    Создать куча If если есть элемент, выполнить
    если есть выполнить, если есть выполнить.

    Если элементов нет, закрыть страницу
    Как думаете так прокатит ?

    Нет не прокатит, потому что он будет все функции перебирать.

    И самое главное, как считывать текст элемента ?
    Его надо в переменную парись слово ЛАЙК ?

    А потом запускать ?



  • Кароче сделаю так. Обновить список заданий.

    Далее if проверить существование элемента, если есть выполнить, кликнуть и вызвать функцию лайк

    а в ней точно так же, if искать элемент, если есть выполнить, если есть выполнить, если нет закрыть страницу.

    проверить задание, если не выполнено скрыть задание

    обновить список

    мозг закипел, но кажись решение я нашёл =)



  • Тока одно не понял, как по тексту то обнаружить и вызвать функцию ?

    Как БАС определит что надо ставить ЛАЙКи ?

    Расскажите про эту функцию с текстом. Чтобы читал текст на странице и запускал функцию.

    А самое главное, можно ли сделать так, чтобы он читал на CSS классе на отдельном ?



  • Я тоже думал, об этом сайте. Могу помочь , чем смогу . Если конечно ,получится бота создать, дашь бота поработать ? ;)


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.