Главная » 2016 » Август » 19 » Бот для удаления подписок в YouTube.
01:53
Бот для удаления подписок в YouTube.

В предыдущем посте мы рассмотрели кодовые строчки, для кликерменна - как найти рисунок на странице. Но это действительно, только кодовые строчки. В виртуальном мире, как в жизни идет постоянная борьба за важность и приоритет того или иного процесса. Важнейшее правило для понимания всего сущего на экране компа - ВСЕ ЧТО ОТОБРАЖАЕТСЯ НА ЭКРАНЕ ПРОИСХОДИТ ПОСЛЕДОВАТЕЛЬНО .

Процессор как Господь бог, расставляет все процедуры и процессы в очередь для четкого отображения информации, но как и в реальном мире достаточно хитрожопых уродов пытающихся влезть без очереди, так и в мире программ есть гнусные процессы, всплывающие в самый не подходящий момент с запросом об обновлении,программы отвлекающие главный процессор на процессы контроля портов и так далее... Все это ведет к тому, что робот который мы создаем, должен учитывать или отслеживать процессы которые происходят на нашем компе. И так против нас играют - наш компьютер, интернет( его соединения с сайтами) и мастера веб программисты (постоянно борющиеся с ботами). Причем, последние самые слабые соперники, потому что предсказуемы. Попробуем создать реальный бот для работы с интернет страницей.

 

Создадим скрипт удаления подписок на своем канале в YouTube.  

строчки для нахождения картинки (подписки)

GETSCREEN // снимок экрана

if_picture_in(0,0,$_xmax,$_ymax,"st.bmp") // если картинка st.bmp существует в размере  всего экрана
 
LCLICK($_return1-26,$_return2+1) //
кликаем в точке по х минус 26 пикселей и у плюс 1 пиксель

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

skip: // метка перехода
GETSCREEN

if_picture_in(0,0,$_xmax,$_ymax,"st.bmp")
 LCLICK($_return1-26,$_return2+1)

GOTO(skip) //перейти на метку

Надо предусмотреть случай, если картинки нет на экране:

ELSE // иначе
WHEELDOWN // прокрутка вниз
$sch=$sch+1 // счетчик прокрутки
IF($sch=20) // если 20 раз прокрутили
HALT //  стоп
END_IF // конец цикла

 

GOTO(skip) // переход на начало

в начале всей программы определим значение переменной $sch=0 .

выход(стоп ) программы определяем в случае когда 20 раз прокрутили страницу и не нашли картинку подписки.

Теперь в кодовые строчки внесем временные задержки, чтоб выполнение операций успевало за отображением на экране и рабочий скрипт примет вид:

Код
 

$sch=0
skip:

WAITMS(50)

GETSCREEN

if_picture_in(0,0,$_xmax,$_ymax,"st.bmp")
 
LCLICK($_return1-26,$_return2+1)

WAITMS(100)

GOTO(skip)
ELSE
WHEELDOWN(8)
$sch=$sch+1
IF($sch=20)
HALT
END_IF

WAIT(2)


MOVE(662,288)
GOTO(skip)
END_IF
HALT



 

 С последовательностью логики создания скрипта, думаю все понятно.В данном коде мы выигрываем в скорости поиска картинки, найдя картинку и кликнув на ней, мы сразу же возвращаемся к поиску аналогичной картинки. Но мы также легко можем заставить работать и "робота первого уровня" , которого создали в прошлый раз. Мы немного потеряем в скорости, но выиграем в удобстве встраивания в различные программы.

Заставим нашего робота по имени "click" побегать по странице... Вызываем подпрограмму с заданным рисунком и после того как он его найдет и кликнет(отработает подпрограмма) перейдем по метке start и опять вызовем "робота первого уровня"(подпрограмму (click). Выход(окончание) после нахождения всех подписок внутри подпрограммы.

 

Код
 

SUB(click,$img )  // обьявляем подпрограмму- название click, $img-переменная, будет рисунком

$sch=0 // переменная счетчик=0

skip:  // метка перехода

GETSCREEN  //    снимок экрана
if_picture_in(0,0,$_xmax,$_ymax,$img) //    если картинка существует
LCLICK($_return1+10,$_return2+10) //         лкм в координатах картинки х+10 пикселей, у+10
ELSE //      иначе
WHEELDOWN(5) // прокрутка Х5

WAIT(1) //  задержка 1с
$sch=$sch+1 //   счетчик прокрутки+1
IF($sch=10) //       если прокрутили 10 раз
HALT //                   стоп программа
END_IF //             конец условия счетчика

GOTO(skip) //         переход по метке
END_IF //                конец условия   if_picture...

END_SUB //           конец подпрограммы

//  Начало работы бота

start: // метка начала
click("st.bmp") // вызов подпрограммы
GOTO(start) // переход на начало

Категория: боты | Просмотров: 1481 | Добавил: kuzma | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

Сайт создан для помощи тем, кто делает первые шаги в программировании.

- автор идеи Кузьма Кузин

Возможность бесплатного доступа ко всем материалам и скриптам.

-совместная работа с группой молодых программистов

Срипты для автоматического заработка на SEO сайтах.

- для всех пользователей всё по цене в 1 EUR