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 надо.
Если хотите алгоритм, то вот он:
- Авторизуемся через cookies
- Идем на страницу участников группы
- Парсим по шаблону
Если у вас уже есть наработки, то выкладывайте их, поможем, местное сообщество отвергает халявщиков (и правильно делает). Вам ведь скорее всего за это платят, а вы хотите, чтобы за вас работали другие, и бесплатно.