
20.08.2009, 14:48
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами:
9574565
Репутация:
712
|
|
Сборщик Id из групп
Недавно понадобилось много id пользователей, решил написать скрипт сбора Id из групп Вконтакте
PHP код:
<?php
set_time_limit(0);
//-----------------//
$email = " "; // E-mail
$pass = " "; // Пароль
$id = " "; // Id группы
$base = "base.txt"; // Файл с id'ами
$sleep = "3"; // Задержка (сек.)
//-----------------//
/* Авторизация */
$ch = curl_init("http://vkontakte.ru/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt&email=".urlencode($email)."&pass=".urlencode($pass)."&expire=0");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_index = curl_exec($ch);
/* Заходим в группу... */
curl_setopt($ch, CURLOPT_URL, "http://vkontakte.ru/search.php?e=1&group=".$id);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res_cookie = curl_exec($ch);
/* ...и смотрим сколько в ней человек */
preg_match('#<strong>Найдено (.*?) ч#i', $res_cookie, $people);
/* Цикл для захода на след.страницу с Id'ами */
for ($i = 0; $i < ceil($people[1]/10); $i++){
$ch = curl_init("http://vkontakte.ru/search.php?e=1&group=".$id."&st=".$i."0");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
/* Парсим Id */
for ($n = 0; $n <= 10; $n++){
preg_match_all('#vkontakte.ru/u(.*?)/#i', $result, $end);
if ($end[1][$n] != ''){
$fh = fopen($base, "a+");
$success - fwrite($fh, $end[1][$n]."\n");
fclose($fh);}}
sleep($sleep);
}
/* geforse.name */
?>
|
|
|