Техническое ограничение соц сети в контакте 10 тысяч друзей, создает проблему с подписками.
Вы отправили запрос на добавления в друзья, но по какой-то причине, вас не добавили.
Вы находитесь в статусе подписчика и особой пользы вам это не приносит.
По данной ссылке можно посмотреть https://vk.com/friends?section=out_requests ваш статус
Мы видим, что есть два статуса: отписаться и отменить заявку.
Отменить заявку значит, что одобрения вас как друга находиться на рассмотрении.
С этической точки зрения при статусе «отписаться» и сразу подавать повторную заявку сразу после отписки, чревато проблемами. Пользователь, которому вы вновь подадите заявку, может вас заблокировать или пожаловаться на спам. Поэтому появилась идея реализовать функцию черного списка, чтобы повторно не добавлять заявку в друзья и избежать в дальнейшем проблем с блокировкой.
Пробую создать для этого скрипт, но пока опыта слишком мало.
Сейчас забуксовал, не могу грамотно спарсить
Нужно вытащить все в массив и разобрать на два списка
Список 1 Отменить заявку
Список 2 Отписаться
Затем записать id пользователя со статусом отписаться в отдельный файл.
При написании скрипта использовал информацию с замечательного сайта http://www.x-scripts.com/scripts/clear_vk_dogs.php
Подскажите пожалуйста как это можно реализовать в коде.
<?php $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 = "7ххххххххх"; // пароль $vk_pwd ="хххххххххххххх"; // путь к файлу с результатом $str_res="result.txt"; // перешли $browser->navigate("https://vk.com/"); sleep(3); // /////////////////////// логинимся if($input->is_exist_by_name("email")) { $input->set_focus_by_attribute("id","index_email"); $input->send_keyboard_input_by_name("email",$vk_login); usleep($mic_pause); $input->set_focus_by_attribute("id","index_pass"); $input->send_keyboard_input_by_name("pass",$vk_pwd); $btn->click_by_name("index_login_button"); } // переходим по ссылке статуса подписок $browser->navigate("https://vk.com/friends?section=out_requests"); // получить подгрузившиеся акки $arr_rows=$div->get_all_inner_htmls_by_attribute("id","request_controls"); foreach($arr_rows as $row) { echo $row . "<br />"; $id_vk=get_string($str1, $pr1, $pr2, &$ind_st = 0) } $textfile->add_string_to_file($str_res,$id_vk."\r\n"); // получение строки по префиксам 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); } $app->quit(); ?>