Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
[php][HELP] VK.com проследить за пользователями сколько они ONLINE |

09.02.2010, 19:08
|
|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
[php][HELP] VK.com проследить за пользователями сколько они ONLINE
Может ктонибуть, кто сильно дружит курлом и регексами накатать скрипт, который будет палить нескольких пользователей ВК на количество проведенного времени в сети, данные для каждого пользователя хранить в txt в формате id:time Хочу на cron повесить и в течение недели следить за несколькими людьми. Буду очень благодарен, кому не составит труда помочь!
Последний раз редактировалось draliokero; 09.02.2010 в 19:24..
|
|
|

09.02.2010, 19:31
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Сейчас попробую написать.
Если меня не опередят, то выложу.
|
|
|

12.02.2010, 01:52
|
|
Участник форума
Регистрация: 04.05.2006
Сообщений: 161
Провел на форуме: 389768
Репутация:
158
|
|
Давненько писал под свои нужны, хранит данные в БД.
Полнейший примитив.
PHP код:
<?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, то понятное дело, он все равно будет считать, что пользователь в сети.
Последний раз редактировалось Solker; 12.02.2010 в 01:56..
|
|
|

12.02.2010, 10:09
|
|
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме: 1442841
Репутация:
63
|
|
был быдло-сервис,но его похоже прикрыли
www.Socialwatch.ru
|
|
|

13.02.2010, 01:58
|
|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
Solker, подскажи еще, как получить массив со всеми ID друзей? Чтобы все вручную не вбивать...
Насколько помню в SQL картинки хранить можно, как в такое поле аватар загрузить?
Compton, помню, этот сервис еще за однаглазниками палил :-)
Последний раз редактировалось draliokero; 13.02.2010 в 02:01..
|
|
|

14.02.2010, 11:47
|
|
Новичок
Регистрация: 25.09.2008
Сообщений: 28
Провел на форуме: 144800
Репутация:
9
|
|
Получить список всех друзей
PHP код:
$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 просо занести ссылку на неё...
PHP код:
$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>'))
Последний раз редактировалось felix_; 14.02.2010 в 11:54..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|