Предлагаю вашему вниманию небольшой скрипт для автоматического обновления статуса в социальной сети ВКонтакте. Скрипт написан за полчаса, ничего сложного в нем нет. Толчком для написания стало желание побаловаться, в процессе возникла еще пара интересных идей, которые я осуществлять не планирую, может кого-то наведу на мысль и буду рад. Не будем голословничать, приступаем к делу.
И да, забыл сказать, это — Perl. Будет желание — сможете легко повторить на вашем любимом языке.
Затем скрипт добавляем в расписание cron'а:
И смотрим на результаты:
Как это применить? Вот что пришло в голову:
— достать своих друзей, которые не вылазят из ВКонтакта своими статусами :))
— в рандоме выбирать из файла какие-либо цитаты, анекдоты, что угодно
— сделать обратный отсчет, н-р, «До моего дня рождения осталось 3 дня, 15 часов и 42 минуты»
— привлекать друзей на какие-либо мероприятия, сайты и прочее
— ну и спамеры, конечно же, могут использовать взломанные аккаунты, чтобы собирать траффик
А еще из всех этих идей можно сделать специальный сервис, который будет выполнять все эти действия. Интересно, есть ли у ВКонтакта ограничение на количество обновлений статуса в сутки? Скоро узнаю :)
Всем хорошего вечера.
Just for fun.
И да, забыл сказать, это — Perl. Будет желание — сможете легко повторить на вашем любимом языке.
#!/usr/bin/perl
print "Content-type:text/html\n\n";
# Запрашиваем необходимые модули
require LWP::UserAgent;
use HTTP::Cookies;
use Encode;
# Данные
$email = "name\@server.ru";
$password = "mypassword";
$path = "/home/anton/www/site.ru/cgi";
# Счетчик
open (FILE, "$path/num.txt");
$num = <FILE>;
close (FILE);
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->agent('Mozilla/5.0');
$ua->env_proxy;
# Путь к файлу с cookies
$cookies=new HTTP::Cookies(file=>'$path/cookies.dat',autosave=>1);
$ua->cookie_jar($cookies);
# Логинимся
$loginpage = "http://vkontakte.ru/login.php?email=$email&pass=$password";
$response = $ua->get($loginpage);
$page = $response->content;
# Достаем значение activityhash
$ah = $1 if $page =~ m/<input type='hidden' id='activityhash' value='(.+)'>/;
# Наш статус
$status = "L&M's status - Попытка #$num";
Encode::from_to($status, 'windows-1251','utf-8');
# POST-запрос для обновления статуса
$response = $ua->post
('http://vkontakte.ru/profile.php',
[
activityhash => $ah,
setactivity => $status
]
);
# Если удачно, выведется значение обновленного статуса
print $response->content;
# Увеличиваем значение счетчика
$num++;
# Обновляем значение в файле
open (FILE, ">$path/num.txt");
print FILE $num;
close (FILE);
* This source code was highlighted with Source Code Highlighter.
Затем скрипт добавляем в расписание cron'а:
*/3 * * * * /home/anton/www/site.ru/cgi/test.pl >/dev/null
И смотрим на результаты:
Как это применить? Вот что пришло в голову:
— достать своих друзей, которые не вылазят из ВКонтакта своими статусами :))
— в рандоме выбирать из файла какие-либо цитаты, анекдоты, что угодно
— сделать обратный отсчет, н-р, «До моего дня рождения осталось 3 дня, 15 часов и 42 минуты»
— привлекать друзей на какие-либо мероприятия, сайты и прочее
— ну и спамеры, конечно же, могут использовать взломанные аккаунты, чтобы собирать траффик
А еще из всех этих идей можно сделать специальный сервис, который будет выполнять все эти действия. Интересно, есть ли у ВКонтакта ограничение на количество обновлений статуса в сутки? Скоро узнаю :)
Всем хорошего вечера.
Just for fun.