Дополнительная информация:
— предварительно необходимо присвоить соответствующим переменным логин и пароль;
— скрипт сделан и протестирован под Studio 7.0.28.
скрипт обновлен
PHP
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
37
<?php
$xhe_host="127.0.0.1:7011";
// The following code is required to properly run XWeb Human Emulator
В этой статье мы рассмотрим один из примеров написания скрипта для парсинга HTML-страниц с использованием XPath на примере сайта bing.com.
Сперва определимся с тем, что такое XPath и зачем оно нужно, если есть регулярные выражения?
XPath (XML Path Language) — это язык запросов к элементам XML-подобного документа (далее для краткости просто XML).
XPath призван реализовать навигацию по DOM в XML.
Regexp — формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов.
По сути это строка-образец (шаблон), состоящая из символов и метасимволов и задающая правило поиска.
Итак, главная разница в том, что XPath специализируется на XML, а Regexp — на любом виде текста.
В: Зачем использовать XPath, если есть regexp, в котором можно сделать тоже самое? О: Простота поддержки.
Синтаксис у regexp такой, что уже через неделю может быть проще всё переписать, чем вносить изменения,
а с XPath можно спокойно работать. И синтаксис у xpath довольно компактный,xml’ё-фобы могут быть спокойны.
Простой пример для вдохновения — получим значение атрибута «href» у, например, тега «a».
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<ahref="https://ya.ru">Yohoho!</a>
Regexp:
<a.*?href=("|')(.*?)("|').*?>
XPath:
"string(//a/@href)"
XPath+PHP:
$dom=newDOMDocument;
// "@" Это, конечно, плохо. Но HTML не обязан быть
Теперь у объекта $xpath есть метод «query» в который мы будем передавать наше xpath-выражение.
Давайте начнём создавать xpath-выражение. Открыв исходный код страницы с результатами поисковой выдачи увидим, что сами результаты находятся внутри тега «li».
PHP
1
2
3
<li class='b_algo'>
<!--...-->
</li>
Т.о. наше xpath-выражение выберет со страницы все поисковые результаты.
Здесь стоит обратить внимание на ветку if, где мы сравниваем кол-во результатов xpath-поиска с нулём.
Если наше xpath-выражение ничего не нашло, то это может означать две вещи:
* Bing действительно ничего не нашёл.
* Bing что-то нашёл, но поменял вёрстку на странице, и наше xpath-выражение необходимо исправлять.
2-й пункт достаточно коварный, в таких случаях, когда xpath-выражение ничего не находит необходимо дополнительно
сверятся, чтобы удостоверится, что xpath-выражение не устарело (хотя и это не даст 100% гарантий).
В нашем случае будем сверяться с тем, что Bing пишет кол-во найденных результатов.
echo"С нашим xpath-выражением что-то не так.".PHP_EOL;
$app->quit();
}
$title=utf8_decode($title->item(0)->textContent);
echo"Заголовок: '{$title}'".PHP_EOL;
В данном случае мы в метод «query» передали вторым параметром текущий $item и в xpath-запросе не указывали «//» (т.е. искать сначала страницы).
2-й параметр означает контекст поиска для xpath-запроса, т.е. искать будем не по всей странице, а только по маленькому html-кусочку из $item.
И, наконец-то, получаем ссылку.
echo"С нашим xpath-выражением что-то не так.".PHP_EOL;
$app->quit();
}
$link=$link->item(0)->getAttribute("href");
echo"Ссылка: '{$link}'".PHP_EOL;
Вообще-то, ссылку можно было получить и без совершения дополнительного xpath-запроса, использовав результат из поиска заголовка.
Но оставим так, для наглядности.
Многие пользователи, которые имеют свои группы в Вконтакте, задаются вопросом «Нужно ли удалять собачек из группы вконтакте?». Те кто имеет опыт продвижения групп и сообществ в Вконтакте прекрасно знают, что наличие так называемых «собачек», то есть заблокированных или удалённых пользователей влияет на продвижение группы.
Откуда берутся «собчачки»? Администрация ВК борется с накрутками групп и сообществ, которую часто осуществляют с использованием, так называемых ботов. Бот — это фейковый аккаунт, который управляется программой. Вот эти, попавшие под санкции аккаунты и превращаются в «собачек», или пользователи, которые удалили свои страницы, так же становятся «собачками». И в первом и во втором случае это мёртвые аккаунты и если у Вас в группе много таких участников, то у реальных людей появятся сомнения вступать в такую группу. Та и ВКонтакте не очень жалует сообщества с «мёртвыми» подписчиками. В итоге ваша группа умирает.
Для того что бы этого не случилось нужно регулярно чистить свои группы. Хорошо если у Вас маленькая группа с небольшим количеством участников, то Вы легко справитесь и руками. Если же у Вас много больших групп и к тому же, до этого Вы не сильно задумывались об избавлении от «собачек», и в один прекрасный момент обнаружили в своих группах сотни заблокированных пользователей, тут руки уже Вам не помогут. Тут Вам поможет Human Emulator.
Наш скрипт работает следующим образом: в настройках скрипта Вы указываете аккаунт, под которым нужно войти в группу и начать её чистить и саму группу,
которую будем чистить от «собачек».
Настройки скрипта:
PHP
1
2
3
4
5
6
// логин
$vk_login="";
// пароль
$vk_pwd="";
// группа для чистки
$vk_group_id="";
Сам скрипт выглядит следующим образом:
PHP
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<!--?php/* производитель: x-scripts ** тип продукта: скрипт под Xweb Human Emulator ** сайт программы: humanemulator.info ** наш сайт: x-scripts.com ** по всем вопросам обращайтесь: ** email: order@x-scripts.com ** icq: 625657402 ** skype: igor_sev2 */$xhe_host="127.0.0.1:7010";// The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // ////////////////////////////// настройки // логин $vk_login = ""; // пароль $vk_pwd =""; // группа для чистки $vk_group_id=""; $mic_pause=300000; // //////////////////////////////// отладка кода $debug_file = "/res/dbg_clear_dogs".date("_d.m.y").".txt"; $dbg = true; // /////////////////////////////////////////////// debug_mess("ЗАПУСКАЕМ СКРИПТ!!!"); // перешли $browser->navigate("https://vk.com/");
Видеоролик как работает скрипт удаления «собачек» из группы ВКонтакте
Данный скрипт будет работа и в Demo Human Emulator. Единственное,
что Вам придётся открыть Human Emulator и залогиниться в ВКонтакте руками, после чего запустить скрипт на выполнение.
В коллекцию наших скриптов для социальных сетей добавился новый скрипт. Вашему вниманию предлагается простой скрипт регистрации в твиттере.
Скрипт работает следующим образом: Вы указываете в настройках ключ к сервису распознавания капч antigate.com и email для региcтрации и запускаете скрипт на выполнение. Human Emulator переходит на страницу регистрации, вводит все необходимые данные, в случае необходимости разгадывает капчу. После переходит на указанный в настройках скрипта email, находит письмо пришедшее с твиттера и переходит по ссылке активации. В случае удачной активации пишет логин и пароль от Вашего нового аккаунта twitter.com в указанный в настройках скрипта файл в формате логин;пароль.
// путь к файлу куда будет записываться зарегистрированный аккаунт
$path_to_acc="res/accounts.txt";
Сам скрипт выглядит следующим образом:
PHP
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!--?php/* производитель: x-scripts ** тип продукта: скрипт под Xweb Human Emulator ** сайт программы: humanemulator.info ** наш сайт: x-scripts.com ** по всем вопросам обращайтесь: ** email: order@x-scripts.com ** icq: 625657402 ** skype: igor_sev2 */$xhe_host="127.0.0.1:7010";// The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // //////////////////////// настройки скрипта ///////////////////////// // ключ сервиса антикапчи $apikey = ""; // ожидание $wt = 2; $wt_long = 12; // данные почты для регистрации $str_mail_lg = "emelyan.kovalevskiy@mail.ru"; $str_mail_pwd = "thmkfpba"; // путь к файлу с аккаунтами $path_to_acc = "res/accounts.txt"; // скрипт работает в режим отладки $dbg = true; // //////////////////////// дополнительные модули /////////////// // функции require_once("tools/functions.php"); // /////////////////////// скрипт /////////////////////////////////////////// debug_mess(" скрипт запустили"); // переходим на сайт $browser->navigate("http://twitter.com/");
Многие из нас ведут активную социальную жизнь и имеют аккаунты сразу в нескольких социальных сетях. При этом стараясь держать все свои акаунты в актуальном состоянии, что отнимает массу времени. Представляем вашему вниманию скрипт автоматической публикации сообщений в Twitter.
Скрипт работает следующим образом: заходит в указанный аккаунт на твиттере. И из приготовленного вами файла публикует через определённый промежуток времени ваши сообщения.
На входе скрипт принимает файл с сообщениями в формате:
И всё чаще перед ними, как и перед простыми пользователями встают рутинные задачи.
Многие задачи можно решить с помощью скриптов.
Наимение затратный вариант это php-скрипты.
… и т.д.
Настройки скрипта:
PHP
1
2
3
4
5
6
7
8
// данные аккаунта на твиттере
$str_lg_tw="DmitriyDumanovs";
$str_pass_tw="kuvxplscgQQ4110";
// путь к файлу со всеми твитами
$path_to_tws="data/twits.txt";
// ожидание между твитами в секундах
$wt_min="10";
$wt_max="15";
Если у вас не один а несколько аккаунтов в твиттере, вы можете лекго подправить скрипт на работу с аккаунтами, которые будут браться из файла.
Сам скрипт выглядит следующим образом:
PHP
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
37
<!--?php/* производитель: x-scripts ** тип продукта: скрипт под Xweb Human Emulator ** сайт программы: humanemulator.info ** наш сайт: x-scripts.com ** по всем вопросам обращайтесь: ** email: order@x-scripts.com ** icq: 625657402 ** skype: igor_sev2 */$xhe_host="127.0.0.1:7010";// The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // //////////////////////// настройки скрипта ///////////////////////// // данные аккаунта на твиттере $str_lg_tw="DmitriyDumanovs"; $str_pass_tw="kuvxplscgQQ4110"; // путь к файлу со всеми твитами $path_to_tws = "data/twits.txt"; // ожидание между твитами в секундах $wt_min="10"; $wt_max="15"; // скрипт работает в режим отладки $dbg = true; // //////////////////////// дополнительные модули /////////////// // функции require_once("tools/functions.php"); // /////////////////////// скрипт /////////////////////////////////////////// debug_mess(" скрипт запустили"); // перейти на пустую страницу $browser->navigate("about:blank");
// чистим браузер
$browser->clear_address_bar_history();
$browser->clear_cache();
$browser->clear_cookies("");
$browser->clear_history();
// получить твиты в массив
$a_tws=file($path_to_tws);
// перейти на твиттер
$browser->navigate("https://twitter.com");
// залогиниться в твиттер
if(!login_tw($str_lg_tw,$str_pass_tw))
{
debug_mess("не удалось войтив аккаунт!! скрипт закончил работу.");
Скрипт для автоматического проставления «лайков» аватар пользователей страниц в Вконтакте по заданным параметрам поиска.
В этой статье мы рассмотрим скрипт для автоматического лайканья аватар пользователей в Вконтакте, по заданным параметрам поиска. Начнем, как обычно с подготовительной части и настроек скрипта:
Настройки скрипта:
PHP
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";
для начала пропишем создание дополнительной вкладки — в ней мы будем переходить по полученным линкам на профили пользователей ВК.
т.е. получаем линк по имени пользователя с главной, переходим по линку в доп. вкладке, затем возвращаемся на главную и так по всем найденным страницам!
В итоге вся логика скрипта состоит из 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
Это скрипт автоматического добавления друзей в социальной сети Вконтакте.
Скрипт работает следующим образом: Вы указываете ему группу или сообщество и скрипт проходит по всем подписчикам и приглашает их в друзья. В связи с изменением политики в Вконтакте стали банятся аккаунты, которые активно добавляют друзей вступают в группы и т.д. Так же если Вы добавили кого-то в друзья и он на Вас пожаловался как на спам, то Ваш аккаунт временно блокируют, чем больше таких жалоб, тем дольше аккаунт будет заблокирован.
// группа/страница c которой добавлять подписчиков
$group="http://vk.com/ru_searchengines";
// кол-во добавляемых друзей за один запуск скрипта
$num_friends=10;
// кол-во добавленных друзей - счётчик
$i_friends=0;
// счётчик показанных капч
$cur_k=0;
// максимальное кол-во ввода капчи - если vk выдаст капчу большее кол-во раз
// чем указанно в этой настройке скрипт остановится
$max_k=3;
// работаем в группе или в сообществе идентификатор - они отличаются поэтому
// нужно указать группа это или сообщество
$b_group=false;
// ключ для капчи - для разгадывания капч
$apikey="";
// массив друзей
$arr_friends=array();
// ожидание перед следующем шагом
$wt=5;
$wt_long=10;
// диапазон ожидания между добавлениями в друзья
$wt1=30;
$wt_long1=60;
// выйти из аккаунта - по завершению
$b_exit=false;
// файл куда сохраняем последнее кол-во элементов в массиве
// для одной группы - что бы при следующем запуске не начинать сначала
// а с того места где остановились в прошлый запуск скрипта
$cnt_accs="data/cnt.txt";
Сам скрипт выглядит следующим образом:
PHP
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!--?php/* производитель: x-scripts ** тип продукта: скрипт под Xweb Human Emulator ** сайт программы: humanemulator.info ** наш сайт: x-scripts.com ** по всем вопросам обращайтесь: ** email: order@x-scripts.com ** icq: 625657402 ** skype: igor_sev2 */$xhe_host="127.0.0.1:7040";// The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // //////////////////////// настройки скрипта ///////////////////////// $dbg = true; // логин $login = ""; // пароль $pass = ""; // группа/страница $group = "http://vk.com/ru_searchengines"; // кол-во добавляемых друзей $num_friends = 10; // кол-во добавленных друзей $i_friends = 0; // максимальное кол-во ввода капчи $cur_k = 0; $max_k=3; // работаем в группе или в сообществе идентификатор $b_group=false; // ключ для капчи $apikey = ""; // массив друзей $arr_friends =array(); // ожидание перед следующем шагом $wt = 5; $wt_long = 10; // ожидание между в добавлениями в друзья $wt1=30; $wt_long1=60; // выйти из аккаунта $b_exit=false; // файл куда сохраняем последнее кол-во элементов в массиве // для одной группы $cnt_accs="data/cnt.txt"; // //////////////////////// дополнительные модули /////////////// require_once("tools/functions.php"); // /////////////////////// скрипт /////////////////////////////////////////// debug_mess(" скрипт запустили"); // перейти на сайт $browser->navigate("http://vk.com/");