PHP « Как спарсить cURL'ом всех участников группы вконтакте

Как спарсить cURL'ом всех участников группы вконтакте.

1 ответов


зачем curl, есть есть разрешенный api метод


require 'vkapi.class.php';

$api_id = 00000000; //id приложения
$secret_key = 'AAaAa5aAAaa07aA1aa7a4A'; //ключ приложения

$gid='33107337'; //id группы
$access_get->access_token = '69fc01d56c13bee26c13bee2896c38000366c0b6c1cfcdca8deaa65412ea391'; //ключ доступа приложения

$VK = new vkapi($api_id, $secret_key); //подключаем класс

//получаем список участников группы, один запрос 1000 участников
$groups = $VK->api('groups.getMembers', array('gid'=>$gid,'access_token'=>$access_get->access_token));

//иницилируем цикл- предусловие, если участников больше 1000, чтоб делал несколько запросов
if ($groups['response']['count']>1000);
for ($x=1000; $x<$groups['response']['count']; $x=1000+$x++){
usleep(200); //время между запросами(5 макс в секунду)
$groups[] = $VK->api('groups.getMembers', array('gid'=>$gid,'offset'=>$x,'access_token'=>$access_get->access_token));
}

//в итоге получилоли 2 несколько массивов, осталось только сложить
print_r($groups);print_r($groups);
 

был где то у меня более навороченный вариант этого кода, но утерял как то уже

$Followers_first = $VK->api('groups.getMembers', array('gid'=>$gid,'access_token'=>$access_token));

if (count($Followers_first['response']['users'])==1000 and $Followers_first['response']['count']>1000){
$n=ceil($Followers_first['response']['count']/1000);
$count=1000;
$i=1;

while ($n!=$i){
$offset=$count*$i;

usleep(200);

$Followers_rest[$i] = $VK->api('groups.getMembers', array('gid'=>$gid,'offset'=>$offset,'access_token'=>$access_token));
$i++;
}
$Followers = array_merge($Followers_first['response']['users'], $Followers_rest[$i]['response']['users']);
}

 


$array = array();
while ($n!=$i){
$offset=$count*$i;
usleep(200);
$Followers_rest[$i] = $VK->api('groups.getMembers', array('gid'=>$gid,'offset'=>$offset,'access_token'=>$access_token));

//$Followers_first['response']['users'];
$array_merge = $Followers_rest[$i]['response']['users'];
$array = array_merge($array, $array_merge);

$i++;
}
//$Followers = array_merge($Followers_first['response']['users'], $Followers_rest[$i]['response']['users']);
}
 

Если вы хотите, чтобы за вас полностью написали код, то это не тот ресурс. Вам на freelanse.ru надо.

Если хотите алгоритм, то вот он:

  1. Авторизуемся через cookies
  2. Идем на страницу участников группы
  3. Парсим по шаблону


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