Проблема в скрипте

Все вопросы касательно бесплатной версии программы можно задать здесь
Ответить
mrkravasos
Сообщения: 4
Зарегистрирован: 17 июл 2018, 16:14

Проблема в скрипте

Сообщение mrkravasos » 17 июл 2018, 16:20

Доброго времени суток ,скачал скрипт http://www.x-scripts.com/scripts/add_vk_friend.php, ввел логин,пароль,группу,но после захода в группу больше ничего не происходить

Скриншот:https://ibb.co/ksTepJ

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Проблема в скрипте

Сообщение Support » 17 июл 2018, 16:28

Здравствуйте, вот есть ещё скрипт по данной теме viewtopic.php?f=52&t=1328 и темы по соцсетям viewforum.php?f=52

mrkravasos
Сообщения: 4
Зарегистрирован: 17 июл 2018, 16:14

Re: Проблема в скрипте

Сообщение mrkravasos » 17 июл 2018, 16:41

Support писал(а):
17 июл 2018, 16:28
Здравствуйте, вот есть ещё скрипт по данной теме viewtopic.php?f=52&t=1328 и темы по соцсетям viewforum.php?f=52
А с этим скриптом что не так,мне нужен функционал этого скрипта, вариант скрипта который вы мне отправили не очень подходит

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Проблема в скрипте

Сообщение xscripts » 17 июл 2018, 16:59

mrkravasos писал(а):
17 июл 2018, 16:20
Доброго времени суток ,скачал скрипт http://www.x-scripts.com/scripts/add_vk_friend.php, ввел логин,пароль,группу,но после захода в группу больше ничего не происходить

Скриншот:https://ibb.co/ksTepJ
Здравствуйте, что нужно исправить в скрипте что бы он стал работать во free:

1. нужно убрать пробел в данном месте " Подписчики". ТО есть в скрипте это будет вот так вот:
// перейти к подписчикам/участникам группы
if($anchor->is_exist_by_inner_text("Подписчики",false))
	$anchor->click_by_inner_text("Подписчики",false);
else
	$anchor->click_by_inner_text("Участники",false);

2. Не забываем в настройках выстраивать работаем мы с группой или сообществом:
// работаем в группе или в сообществе идентификатор
$b_group=true;

3. Сам процесс добавления друзей происходит в функции add_friends(), нужно в ней закомментарить вот эти строки:
 
if($b_group)
     {
			//$friend = trim(get_string($arr_friends[$i],"href=\"","\""));
			// переходим на страницу
			$browser->navigate("http://vk.com".$arr_friends[$i]);
      }
и добавить паузу перед следующим кодом:
  sleep(2);
// добавить в друзья
if($btn->click_by_inner_text("Добавить в друзья",false))
{
4. Количество добавляемых друзей задаём тут:
// кол-во добавляемых друзей
$num_friends = 10;
Обработку капчи не проверял. Код обработки находиться в той же функции add_friends()
if($div->is_exist_by_inner_text("Введите код с картинки",false))
			{
					debug_mess("вводим капчу");
					$image->screenshot_by_src("C:\\temp\\tmp.jpeg","/captcha.php?sid=",false);
					$capcha = $anticapcha->recognize("C:\\temp\\tmp.jpeg", $apikey, $path ='http://www.anti-captcha.com', true, 5, 120, 0, 0, 0, 0, 0, 0);
					// ввести капчу
					$input->set_value_by_attribute("class","big_text",false,$capcha);
					$btn->click_by_inner_text("Отправить",false);
               // сколько раз появилась капча 
					$cur_k++;
               // проверка условия на капчу
               if($cur_k >= $max_k)
               {
                  debug_mess("Вышли из скрипта по количеству показов капч!");
                  return true;
               }
              // ожидание между добавлением в друзья
              sleep(rand($wt1,$wt_long1));
			}
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

Аватара пользователя
xscripts
Сообщения: 80
Зарегистрирован: 24 янв 2012, 12:48
Контактная информация:

Re: Проблема в скрипте

Сообщение xscripts » 17 июл 2018, 17:02

Скрипт :
<?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:7015";

// 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=true;
// ключ для капчи
 $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/");

// открываем дополнительную вкладку
$browser->set_count(2);
$browser->set_active_browser(0);

// логин
$input->set_value_by_name("email",$login);
// пароль
$input->set_value_by_name("pass",$pass);
// войти
$btn->click_by_name("quick_login_button");

// переходим в группу
$browser->navigate($group);
sleep($wt);

// перейти к подписчикам/участникам группы
if($anchor->is_exist_by_inner_text("Подписчики",false))
	$anchor->click_by_inner_text("Подписчики",false);
else
	$anchor->click_by_inner_text("Участники",false);

sleep($wt);

// задаём стартовое значение
$num=0;
if($file_os->is_exist($cnt_accs))
   $num=trim($textfile->read_file($cnt_accs));
else   
   $num=$num_friends;

// результат добавления
$res=false;

// цикл добавления 
while($res===false)
{
   echo "кол-во элементов в массиве - $num<br>";

	// получим необходимое кол-во href в массив
	if(!page_down($num))
	{
     $file_os->delete($cnt_accs);
	  debug_mess("группа закончилась.");
     break;
	}
	// перейти на вкладку
	$browser->set_active_browser(1);	
	// добавить друзей
	$res=add_friends();
   // получим текущее кол-во ссылок в массиве
   $num=count($arr_friends);
   $textfile->write_file($cnt_accs,$num);
}

$browser->set_active_browser(0);
$anchor->click_by_inner_text("Закрыть");

// выйти из аккаунта
if($b_exit)
{
	
	$browser->navigate("http://vk.com/");
	$anchor->click_by_name("logout_link");
}
else
{
  $anchor->click_by_name("myprofile");
}
// чистимся
//clear_and_restart();

debug_mess("скрипт закончил работу");

// Quit
$app->quit();

?>
Файл functions.php

<?php
// прокрутка страницы
function page_down($num)
{
	global $anchor,$div,$arr_friends,$keyboard;
	
	while(count($arr_friends) <= $num)
	{
      // нажимаем страницу вниз
		$anchor->set_focus_by_inner_text("Поиск по участникам",false);
		$keyboard->send_key(34);
		sleep(2);
		//if($div->is_exist_by_inner_text("Участники",false))
		{
			$str_friends = $anchor->get_all_hrefs_by_attribute("class","fans_fan_lnk",true);//$anchor->get_all_inner_htmls_by_attribute("class","fans_fan_lnk");
         $arr_friends =explode("<br>",$str_friends);
         $b_group=false;
		}
	/*	else
		{
			$arr_friends = $div->get_all_inner_htmls_by_attribute("class","fans_fan_name");
         $b_group=true;
		}*/
      // если не меняется кол-во ссылок в массиве значит обработали группу
      if(count($arr_friends) == $num)
        return false;

     
	}   
    return true;
}

// добавление друзей
function add_friends()	
{
	global $arr_friends,$image,$input,$btn,$wt1,$wt_long1,$apikey,$anticapcha,$div,$wt,$browser,$num_friends,$max_k,$cur_k,$num,$i_friends,$b_group;
	
	// получить href подписчиков
	//while($i_friends < $num_friends || $cur_k < $max_k)

  $i_st=0;
   if($num!=$num_friends)
	{
     $i_st=$num; 
	}
   for($i=$i_st;$i<count($arr_friends);$i++)
	{	
     if($b_group)
     {
			//$friend = trim(get_string($arr_friends[$i],"href=\"","\""));
			// переходим на страницу
			$browser->navigate("http://vk.com".$arr_friends[$i]);
      }
      else
      {
        $browser->navigate(trim($arr_friends[$i]));
      }
      sleep(2);
		// добавить в друзья
		if($btn->click_by_inner_text("Добавить в друзья",false))
		{
			debug_mess("добавили в друзья");
			sleep($wt);
			if($div->is_exist_by_inner_text("Введите код с картинки",false))
			{
					debug_mess("вводим капчу");
					$image->screenshot_by_src("C:\\temp\\tmp.jpeg","/captcha.php?sid=",false);
					$capcha = $anticapcha->recognize("C:\\temp\\tmp.jpeg", $apikey, $path ='http://www.anti-captcha.com', true, 5, 120, 0, 0, 0, 0, 0, 0);
					// ввести капчу
					$input->set_value_by_attribute("class","big_text",false,$capcha);
					$btn->click_by_inner_text("Отправить",false);
               // сколько раз появилась капча 
					$cur_k++;
               // проверка условия на капчу
               if($cur_k >= $max_k)
               {
                  debug_mess("Вышли из скрипта по количеству показов капч!");
                  return true;
               }
              // ожидание между добавлением в друзья
              sleep(rand($wt1,$wt_long1));
			}
         // кол-во добавленных друзей
			$i_friends++;
         if($i_friends>=$num_friends)  
         {
             debug_mess("Добавили $i_friends друзей сегодня!");
             return true;
         } 
		}
	}
   return false;
}

// выдать сообщение в панель отладки и в debug file
function debug_mess($mess)
{
   global $dbg, $textfile, $debug_file;
   // отладочные сообщения
   if ($dbg)
   {
      echo date("\[ d.m.y H:i:s\] ") . $mess . "<br>";
   }
	if (isset($debug_file))
	{
		// создаем сообщение для записи в файл отладки
		$str = date("\[ d.m.y H:i:s\] ") . $mess."\r\n";
		// записываем сообщение
      $textfile->add_string_to_file($debug_file, $str);
	}
}


// get string by prefix
function get_string($str1, $pr1, $pr2, &$ind_st = 0)
{
   //echo $str1."<br>";
   $ind1 = strpos($str1, $pr1, $ind_st);
   // echo "index 1 ".$ind1."<br>";
   if($ind1 === false)
      return "";

   $ind2 = strpos($str1, $pr2, $ind1+ strlen($pr1));
   //echo "index 2 ".$ind2."<br>";
   if ($ind2 === false)
      return "";
   
   // запомним стартовый индекс
   $ind_st = $ind2 + 1;
   // получим результат
   $sres = substr($str1, $ind1 + strlen($pr1), $ind2 - $ind1-strlen($pr1));

   return trim($sres); 
}


// функция очистки и перезапуска приложения
function clear_and_restart()
{
	global $app, $debug, $browser;

	// чистим все
	$browser->navigate("about:blank");
	sleep(2);
	$browser->clear_address_bar_history();
	$browser->clear_cache();
	$browser->clear_cookies("");
	$browser->clear_history();
	sleep(2);
	// перезапускаем приложение
	//$app->restart($debug->get_cur_script_path(),"", $app->get_port());
}

?>
http://x-scripts.com/

Код: Выделить всё

<?php
$xhe_host ="127.0.0.1:7010";

require("../Templates/xweb_human_emulator.php");

$browser->navigate("http://x-scripts.com");

$app->quit();?>

mrkravasos
Сообщения: 4
Зарегистрирован: 17 июл 2018, 16:14

Re: Проблема в скрипте

Сообщение mrkravasos » 17 июл 2018, 17:10

Спасибо,сейчас попробую

mrkravasos
Сообщения: 4
Зарегистрирован: 17 июл 2018, 16:14

Re: Проблема в скрипте

Сообщение mrkravasos » 17 июл 2018, 17:16

Да вы просто Гений!!!Спасибо вам огромное,все прекрасно работает

Ответить