 |
|

27.08.2012, 15:18
|
|
Новичок
Регистрация: 22.08.2012
Сообщений: 0
С нами:
7222646
Репутация:
0
|
|
честно сказать не понимаю зачем создавать топик если на форуме есть то что вы ищете , поюзайте))
|
|
|

28.06.2013, 21:10
|
|
Новичок
Регистрация: 14.02.2012
Сообщений: 4
С нами:
7496246
Репутация:
0
|
|
Уважаемый Fepsis, раньше хорошо качала, но все равно не весь архив скачивает, а щас совсем плохо, можете доработать код, или есть ли еще подобные программы?
|
|
|

06.08.2013, 12:35
|
|
Новичок
Регистрация: 28.04.2011
Сообщений: 2
С нами:
7916726
Репутация:
0
|
|
Скрипт рабочий. просто в маил.ру изменились ссылки, вот подправил:
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Cookies;
################# Config ###############
my $email = 'login@mail.ru';
my $pass = 'pass';
############### End Config ##############
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19");
my $cookie_jar = HTTP::Cookies->new();
$ua->cookie_jar($cookie_jar);
sub logg
{
my ($data, $file) = @_;
open(OUT, "> ".$file);
print OUT "$data\n";
close(OUT);
}
sub authorization
{
my ($email, $pass) = @_;
my ($login, $domain) = $email =~ /^(.+?)@(.+?)$/;
$cookie_jar->clear();
my $ex = $ua->post('http://win.mail.ru/cgi-bin/auth', ['Login' => $login, 'Domain' => $domain, 'Password' => $pass]);
if ($ex->headers_as_string() =~/Set-Cookie: Mpop=/)
{
return 1;
}
}
sub get_users
{
my $ex = $ua->post('http://e.mail.ru/agent/archive/', ['mrim_hist_password' => $pass, 'PasswordAsk' => 'on'], Referer => 'http://e.mail.ru/agent/archive/')->content();
my @allusers = $ex =~ /class=letavtor title=\"(.+?)\"/g;
while(1)
{
my ($nextpage) = $ex =~ //;
last if (!$nextpage);
$ex = $ua->get('https://e.mail.ru/agent/archive?folder=500005'.$nextpage)->content();
my @users = $ex =~ /class=letavtor title=\"(.+?)\"/g;
foreach (@users)
{
push(@allusers, $_);
}
}
return @allusers;
}
sub get_messages
{
my ($user) = @_;
my $i = 0;
my $ex = $ua->get('http://e.mail.ru/agent/archive?mode=1&email='.$user)->content();
my @allmess = $ex =~/(.+?).+?(.+?).+?/gs;
while(1)
{
my ($nextpage) = $ex =~ //;
last if (!$nextpage);
$ex = $ua->get('https://e.mail.ru/agent/archive?folder=500005'.$nextpage)->content();
my @mess = $ex =~/(.+?).+?(.+?).+?/gs;
foreach (@mess)
{
push(@allmess, $_);
}
print "\t\tpage:".$i++."\n";
}
my $arhive = '';
while(@allmess)
{
my $data = pop(@allmess);
my $message = pop(@allmess);
my $name = pop(@allmess);
$arhive .= $name.' : '.$data."
\r\n".$message."
\r\n\r\n";
}
logg($arhive, $user.'.txt');
}
authorization($email, $pass);
my @allusers = get_users();
print "Users: ".scalar(@allusers)."\n\n\n";
foreach (@allusers)
{
print "\t".$_."\n";
get_messages($_);
}
Сообщение от None
Ставишь активперл от сюда: http://www.activestate.com/activeperl/downloads
Сохраняешь скрипт как script.pl
Изменяешь
my $email = 'yourmail@mail.ru';
my $pass = 'yourpass';
на свои значения, сохраняешь, запускаешь...
В папке со скриптом должны начать появляться файлы с архивами под каждого юзера, с кем шла переписка, но в принципе формат на выходе можно сделать любой, тоесть можно всё в один файл записать или ещё как...
|
|
|

18.10.2013, 20:50
|
|
Новичок
Регистрация: 04.01.2013
Сообщений: 1
С нами:
7028246
Репутация:
0
|
|
Сообщение от MiLSaN
Скрипт рабочий. просто в маил.ру изменились ссылки, вот подправил:
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Cookies;
################# Config ###############
my $email = 'login@mail.ru';
my $pass = 'pass';
############### End Config ##############
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19");
my $cookie_jar = HTTP::Cookies->new();
$ua->cookie_jar($cookie_jar);
sub logg
{
my ($data, $file) = @_;
open(OUT, "> ".$file);
print OUT "$data\n";
close(OUT);
}
sub authorization
{
my ($email, $pass) = @_;
my ($login, $domain) = $email =~ /^(.+?)@(.+?)$/;
$cookie_jar->clear();
my $ex = $ua->post('http://win.mail.ru/cgi-bin/auth', ['Login' => $login, 'Domain' => $domain, 'Password' => $pass]);
if ($ex->headers_as_string() =~/Set-Cookie: Mpop=/)
{
return 1;
}
}
sub get_users
{
my $ex = $ua->post('http://e.mail.ru/agent/archive/', ['mrim_hist_password' => $pass, 'PasswordAsk' => 'on'], Referer => 'http://e.mail.ru/agent/archive/')->content();
my @allusers = $ex =~ /class=letavtor title=\"(.+?)\"/g;
while(1)
{
my ($nextpage) = $ex =~ //;
last if (!$nextpage);
$ex = $ua->get('https://e.mail.ru/agent/archive?folder=500005'.$nextpage)->content();
my @users = $ex =~ /class=letavtor title=\"(.+?)\"/g;
foreach (@users)
{
push(@allusers, $_);
}
}
return @allusers;
}
sub get_messages
{
my ($user) = @_;
my $i = 0;
my $ex = $ua->get('http://e.mail.ru/agent/archive?mode=1&email='.$user)->content();
my @allmess = $ex =~/(.+?).+?(.+?).+?/gs;
while(1)
{
my ($nextpage) = $ex =~ //;
last if (!$nextpage);
$ex = $ua->get('https://e.mail.ru/agent/archive?folder=500005'.$nextpage)->content();
my @mess = $ex =~/(.+?).+?(.+?).+?/gs;
foreach (@mess)
{
push(@allmess, $_);
}
print "\t\tpage:".$i++."\n";
}
my $arhive = '';
while(@allmess)
{
my $data = pop(@allmess);
my $message = pop(@allmess);
my $name = pop(@allmess);
$arhive .= $name.' : '.$data."
\r\n".$message."
\r\n\r\n";
}
logg($arhive, $user.'.txt');
}
authorization($email, $pass);
my @allusers = get_users();
print "Users: ".scalar(@allusers)."\n\n\n";
foreach (@allusers)
{
print "\t".$_."\n";
get_messages($_);
}
Скрипт на данный момент работает?
Просто у меня почему то ничего не сохраняется.
Только командная строка моргнет исчезает.
Кто нибудь может мне помочь?
|
|
|

28.10.2013, 00:04
|
|
Новичок
Регистрация: 27.10.2013
Сообщений: 1
С нами:
6602006
Репутация:
0
|
|
Народ такая проблема все сделал как было написано
Он записывает только начало
тоесть 1 страницу
а птом просто считает дальше
|
|
|

06.03.2014, 18:13
|
|
Новичок
Регистрация: 04.03.2014
Сообщений: 1
С нами:
6417686
Репутация:
0
|
|
Товарищи! Может кто-нибудь поможет починить парсер? Мейл изменил все до неузнаваемости, сам не могу раскурить скрипт, чтобы поправить, ибо с перлом особо не работал...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|