Тайфун

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Тайфун » Идеи и их осуществление » Скрипты


Скрипты

Сообщений 1 страница 5 из 5

1

))))))))

0

2

Все Perl Скрипты которые у меня есть не работают.

0

3

СКРИПТ ДЛЯ СОЗДАНИЯ АЛЬБОМОВ

#!/usr/bin/perl -w

use LWP 5.64;
use HTTP::Cookies;
use HTTP::Request::Common;

my $use_proxy = 'http://127.0.0.1:8118/'; # proxy address here

my $login_mail = 'mail';
my $login_pass = 'pass';
my $userid = 11323743; # YOUR User ID here!!

# leave this zero if you want to create new albums (as much as @img_dirs)
# set this -1 if you want to create new albums (as much as all images)
# set album id if you want to post in an existing one
my $album_id = -1;

my $groupid = 1495173; # vitcim's GID
my $useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1;)[тут ";"и")"] Firefox/2.0.0.0';

# ONE dir per album. More dirs, more new albums
my @img_dirs = ("./nigra","./img2","./img3");

# new albums names (will use random)
my @album_names = ('NIGRAS1','NIGRAS2','NIGRAS3','NIGRAS4','NIGRAS5','NIGRAS6');

my $url_login = 'http://vkontakte.ru/login.php';
my $url_photos = 'http://vkontakte.ru/photos.php';
my $url_upload = 'http://cs218.vkontakte.ru/upload.php';

my $ua = LWP::UserAgent->new(keep_alive => 1, requests_redirectable => [ 'POST' ]);
$ua->proxy('http', $use_proxy) if $use_proxy;
$ua->agent($useragent);
$ua->cookie_jar({});

print 'Login... ';
my $response = $ua->post($url_login,
    [ 'email' => $login_mail,
    'pass' => $login_pass,
    ]);
die 'Login error -- ', $response->status_line
    unless $response->is_success or $response->code == 302;
print "Success.\n";
srand (time ^ $$);

L0: foreach $img_dir (@img_dirs) {
    # read dir with content
    opendir(DIR,$img_dir) or do { warn "opendir error!"; next L0; };
    @images= readdir(DIR);
    closedir(DIR);

    # start process if we want to post in the existing album
    my $aid = $album_id;
    goto L1 if $album_id;
   
    # create new album
    my $album_name = $album_names[int(rand($#album_names + 1))];
    print "Create album ($album_name)... ";
    $aid = new_album($ua,$url_photos,$album_name,$album_name,$groupid);

L1: foreach $img_name (@images) {
    next if(($img_name eq ".") || ($img_name eq ".."));
    if ($album_id < 0) {
        print "Create album ($img_name)... ";
        $aid = new_album($ua,$url_photos,$img_name,$img_name,$groupid);
        next if ($aid<0);
    }
    print "IMAGE: $img_dir/$img_name\n";
    # get server URL
    $response = $ua->get("$url_photos\?act=add\&id=$aid");
    do { warn "Get images server URL error -- ", $response->status_line; next L1; }
        unless $response->is_success or $response->code == 302;
    $_ = $response->content =~ m|name\s*=\s*\"upload\"\s*action\s*=\s*\"([^\"]+)\"|ig;
    $url_upload = $1;
   
    # get hash values
    $_ = $response->content;
    my ($hash) = /name=\"hash\" value=\"(\w+)\" /;
    my ($rhash) = /name=\"rhash\" value=\"(\w+)\" /;
   
    # send image
    my $req = POST $url_upload, Content_Type => 'multipart/form-data',
        Content      => [
        act => 'do_add',
        id => $aid,
        aid => $aid,
        gid => $groupid,
        mid => $userid,
        hash => $hash,
        rhash => $rhash,
        file1 =>  [ "$img_dir/$img_name" ]
        ];
    $response = $ua->request($req);
    do { warn "Upload error -- ", $response->status_line; next L1; }
        unless $response->is_success or $response->code == 302;
    $_ = $response->content;
   
    # now set newly loaded image as a cover of the album
    $response = $ua->get("$url_photos\?act=editphotos\&id=$aid\&u=1");
    $_ = $response->content;

    @_ = /name=\"cover\" value=\"-(\w+)\"/gm;
    my $img_id = "-$_[$#_]";
    my $img_no = $#_ + 1;
   
    $response = $ua->post("$url_photos\?act=editphotos\&id=$aid\&u=1",
        [ 'act' => 'do_editphotos',
        'id' => $aid,
        "cover" => $img_id,
        ]);
    do { warn " Cover setting error -- ", $response->status_line; next L1; }
        unless $response->is_success or $response->code == 302;
    sleep 1;
    }
}

sub new_album {
    # create new album
    my ($agent,$url,$album_name,$album_desc,$gid) = @_;
   
    print "Create album ($album_name)... ";
    my $response = $agent->post( $url,
    [ 'act' => 'create', 'gid' => $gid,'name' => $album_name, 'desc' => $album_desc, 'visible' => '1', ]
    );
    do { warn " Create new album error -- ", $response->status_line; return -1; }
    unless $response->is_success or $response->code == 302;
    print "Success.\n";
   
    $response = $ua->get("$url\?gid=$gid");
    $_ = $response->content;
    @_ = /\"photos.php\?act=album&id=(\d+)\"/gm;
    # return album ID
    return $_[$#_];
}

Отредактировано Кот Бегемот (2008-08-02 13:11:41)

+1

4

Было бы желательно объяснить ЧОЧО куда...

0

5

Вайпалка АЛЬБОМОВ Вконтакте (vkalbum.pl)

    Как юзать

        * Качаем Perl (для винды - ActivePerl : http://activestate.com/downloads/)
        * качаем скрипт
        * настраиваем :

    $use_proxy = 'http://127.0.0.1:8080/'; - прокся
    $login_mail = 'mail@mail.ru'; - мыло твоего акка
    $login_pass = 'pass'; - пасс
    $userid = 111; - ID ТВОЕГО акка
    $groupid = 111; - ID жертвы (группы)
    $album_id = 111; - ID альбома для загрузки нигров
    ВНИМАНИЕ!! Если выставить $album_id = 0; то скрипт будет создавать кучу новых альбомов (столько же сколько указано далее)
    @img_dirs = ("./img1","./img2","./img3"); - каталоги с ниграми. Если создавать новые альбомы их будет создано столько сколько этих каталогов, если постим в один альббом, будут поститься все нигры из этих папок
    @album_names = ('NIGRAS1','NIGRAS2','NIGRAS3','NIGRAS4','NIGRAS5','NIGRAS6'); - имена альбомов. берется по одному рандомно

* запускаем скрипт:

# perl vkalbum.pl

АСПЕКТЫ
чтобы скрипт вайпал, нужны права постить пикчи в альбом.
Создаете каталоги "./img1","./img2","./img3" (из переменной @img_dirs) и накидайте в каждый нигров
Чтобы создавался один альбом на каждого нигра установите
$album_id = -1

+1


Вы здесь » Тайфун » Идеи и их осуществление » Скрипты