VK не так просто ограничили API.
есть execute, который упростит в 25 раз все, НО только в 25 (опять же ограничение вк).
Для парсинга всех пользователей ВК нужно только время)
Придется сначала подождать, пока всех спарсит) а потом только добавлять новых.
НАПРИМЕР:
Этот код парсит лайки с записи на стене и анализирует пол(м/ж).
while ($cur_offset < $_offset){
$_12000 = $cur_offset + 12000;
$_test = $_vkapi -> execute (
'var members = [];'.
'var obj =[];'.
'var offset ='.$cur_offset.';' .
'while (offset < '.$_12000.')'.
'{'.
'members = API.likes.getList({"type":"post","owner_id":'.$_id_gr.',"item_id":'.$_id_post.',"count":1000,"offset": offset}).items;'.
'obj = obj + API.users.get({"user_ids":members,"fields":"sex, bdate, city, country"});'.
'offset = offset + 1000;'.
'};'.
'return obj;'
);
$_resp =json_decode($_test);
foreach ($_resp->response as $_anse) {
if (is_int($_anse ->sex)) {
$_sex = (int) ($_anse ->sex);
switch ($_sex) {
case 0:
$_other++;
break;
case 1:
$female++;
break;
case 2:
$male++;
break;
default:
//$_other++;
break;
}
}else{
$_other++;
}
}
}
Время на
40000 лайков - 13 секунд.
400000 лайков - 130секунд.
и так далее...
Быстрее ВК никак такой объем данных не отправляет) Поэтому только парсить API и ждать.
[ 13:16:59] Text: $female=5115 $male=6885 $_other=0 $itogo=12000
[ 13:17:12 ] Text: $female=15588 $male=23570 $_other=6 $itogo=39158
ПОЭТОМУ Многопото́чность - выход.!