Просмотр полной версии : [php][HELP] VK.com проследить за пользователями сколько они ONLINE
draliokero
09.02.2010, 19:08
Может ктонибуть, кто сильно дружит курлом и регексами накатать скрипт, который будет палить нескольких пользователей ВК на количество проведенного времени в сети, данные для каждого пользователя хранить в txt в формате id:time Хочу на cron повесить и в течение недели следить за несколькими людьми. Буду очень благодарен, кому не составит труда помочь!
Deathdreams
09.02.2010, 19:31
Сейчас попробую написать.
Если меня не опередят, то выложу.
Давненько писал под свои нужны, хранит данные в БД.
Полнейший примитив.
<?php
$url = 'http://vkontakte.ru/id1';
$cookie = 'cookie';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res_curl = curl_exec($ch);
curl_close($ch);
if(strpos($res_curl,'Online'))
{
echo 'Online';
$link = mysql_connect('localhost', 'root', 'pass');
mysql_select_db('vk_db',$link);
mysql_query("set names cp1251");
$query = "INSERT INTO vk_online VALUES(0,'".time()."')";
mysql_query($query);
mysql_close($link);
} else
echo 'Offline';
?>
Тебе надо в качестве $url использовать массив и прогонять его в цикле. И если БД, то добавить дополнительное поле с ID страници.
PS. Если пользователь где то на странице напишет Online, то понятное дело, он все равно будет считать, что пользователь в сети.
был быдло-сервис,но его похоже прикрыли
www.Socialwatch.ru
draliokero
13.02.2010, 01:58
Solker, подскажи еще, как получить массив со всеми ID друзей? Чтобы все вручную не вбивать...
Насколько помню в SQL картинки хранить можно, как в такое поле аватар загрузить?
Compton, помню, этот сервис еще за однаглазниками палил :-)
Получить список всех друзей
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://pda.vkontakte.ru/write');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, 'http://vkontakte.ru/mail.php');
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$answer=curl_exec($ch);
curl_close($ch);
preg_match_all('#<option value="([0-9]+)" >#UiS',$answer,$base);
массив $base будет содержать id всех друзей, а на счёт аватарки можно в SQL просо занести ссылку на неё...
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://vkontakte.ru/profile.php');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$answer=curl_exec($ch);
curl_close($ch);
$photo = (preg_match("#<img src=(.*?) #", $answer, $photo)) ? $photo[1] : "fuck" ;
Solker, если ищешь online - то там на странице могут ещё показывать других пользователей которые online, так что достаточно найти строку <b>Online</b>
if(strpos($res_curl,'<b>Online</b>'))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot