Скрипт для автоматического проставления «лайков» аватар пользователей страниц в Вконтакте по заданным параметрам поиска.
В этой статье мы рассмотрим скрипт для автоматического лайканья аватар пользователей в Вконтакте, по заданным параметрам поиска. Начнем, как обычно с подготовительной части и настроек скрипта:
Настройки скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// скрипт работает в режим отладки $dbg = true; // логин и пароль для входа в ВК(необходимо заполнить) $login = ""; $pass = ""; // время ожидания $wt = 5; $wt_long = 10; // путь к необходимой группе(необходимо заполнить) $group = ""; // количество лайков за один проход $likes = 3; // текущее количество лайков $cur_likes = 0; // путь к обработанным анкетам $path_to_ankets = "res\\ankets.txt"; |
для начала пропишем создание дополнительной вкладки — в ней мы будем переходить по полученным линкам на профили пользователей ВК.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// открыть дополнительную вкладку $browser->set_count(2); $browser->set_active_browser(0); sleep($wt); echo "Переходим на сайт ВК<br>"; $browser->navigate("http://vk.com/"); sleep($wt_long); echo "Авторизируемся<br>"; $input->send_keyboard_input_by_name("email", $login); sleep($wt); $input->set_focus_by_name("pass"); $input->send_keyboard_input_by_attribute("id","index_pass",true, "$pass"); sleep($wt); echo "нажимаем кнопку Войти<br>"; $btn->click_by_inner_text("Войти",false); $btn->click_by_name("index_login_button"); sleep($wt_long); echo "Переходим в нужную нам группу<br>"; $browser->navigate($group); sleep($wt_long); |
получим кол-во найденных людей (число, которое выдает поисковик ВК), оно нам понадобиться для прокрутки страницы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
echo "начинаем прокручивать скролл вниз<br>"; $all_of_member_old = 0; $cur_scroll = 0; while (true) { // получаем номера на всех подписчиков $arr_of_names = $div->get_all_inner_texts_by_attribute("class", "labeled name", true); $all_of_member = count($arr_of_names); echo $all_of_member . "<br>"; if ($all_of_member_old == $all_of_member) { $cur_scroll++; } else { $cur_scroll = 0; } if ($cur_scroll >= 10) { echo "если количество подгруженных анкет такое же как и в предыдущий раз<br>"; echo "уже 10 циклов в подряд, то скорее всего мы дошли до конца страницы<br>"; break; } $all_of_member_old = $all_of_member; if ($all_of_member > 200) { echo "Количество подписчиков более 200<br>"; break; } echo "прокручиваем колесо<br>"; $mouse->wheel(-rand(14, 24), $window_width/2, $window_height/2); sleep(4); } |
т.е. получаем линк по имени пользователя с главной, переходим по линку в доп. вкладке, затем возвращаемся на главную и так по всем найденным страницам!
В итоге вся логика скрипта состоит из 9 пунктов:
1) переходим на сайт и авторизируемся;
2) переходим на нужную группу;
3) получаем всех пользователей группы;
4) получаем всех пользователей группы в «online»;
5) прокручиваем страницу вниз для максимальной прогрузки данных о найденных контактах (не более 1000);
7) получаем по каждому контакту ссылку на профиль;
8) используя дополнительную вкладку переходим по полученным линкам на аккаунт пользователя;
9) после перехода на страницу пользователя — кликаем по аватару и ставим лайк.
Примечания:
1. Анкеты которые «лайкались» ранее повторно не используются. При использовании анкеты, уникальный путь к ней сохраняется в папке res/ankets.txt. Соответственно если повторно эта анкета встречается в другой группе или же скрипт повторно запускается для этой же группы он предварительно проверяет лайкали ли мы ранее эту анкету. Если да, то пропускаем ее и идем далее;
2. Бываем что группа маленькая и количество онлайн-пользователей на данный момент менее 1000 — скрипт анализирует если количество подгруженных пользователей не изменно 10 скролов — вероятнее всего мы дошли до низа списка и подгрузили всех пользователей группы находящихся в режиме «online». Производится выход и скрипт переходит к следующему шагу — «лайкам» фотографий.
Видео работы скрипта автоматического нажатия «like» Вконтакте
Скрипт написан 06.12.2018 и оптимизирован под версию 7.0.26