Взял скрипт, написанный Fepsisом и набросал на его основе программку с графическим интерфейсом. Чтобы удобнее было, ну и типа программа для скачивания архива агента готовая. Вот ссылки если кому интересно: http://www.shared.uz/?0566225001333513039 http://exfile.ru/342817 http://www.fayloobmennik.net/1746199
я конечно понимаю что когда скрипт в оболочке то это классно и довольно удобно.. Но мне например вполне удобно и так работать)
Когда писал кстати, каспер тоже матерился. Пом енял некоторые строки местами, перестал. Почему, я сам ен понял. А что в нем находит вирустотал?
Ошибка Привет всем форумчанинам. Я заметил некоторую недоработку в скрипте. Например я запускаю скрипт он начинает считать сколько у меня контактов а потом считывает страницы,после завершения задачи захожу в папку где находиться мой скрипт открываю html файлы и там сохранённая переписка, НО почему то некоторые периписки с контактами не сохраняются(хотя в архиве переписка с ними есть) когда открываешь этот html файл там пусто. анекоторые сохраняются, а некоторые нет. может проблема в том что много контактов(315),просто ощущение как будто скрипт теряет соединение с сервером(инет не отключался). МОжет кто нибудь проверит на наличие ошибок и доработает скрипт? Да и ещё когда внизу меняешь скрипт чтобы он скачал переписку с определённым контактом он почему то не сохраняет всю переписку,а сохраняет лишь последние,а мне нужны архивы и 2010 года,а мне сохраняет последние с 2012 года. ЗЫ я проверял в архиве там есть сообщения за 2010 год. модернизируйте скрипт. или может я что то нитак делаю
Нет, только та переписка если стояла галочка "Сохранять архив mail.ru агента"С момента когда она стояла, если галочка не была снята 10 лет то переписка соответственно за 10 лет )))
Уважаемый Fepsis, раньше хорошо качала, но все равно не весь архив скачивает, а щас совсем плохо, можете доработать код, или есть ли еще подобные программы?
Скрипт рабочий. просто в маил.ру изменились ссылки, вот подправил: Code: #!/usr/bin/perl use LWP::UserAgent; use HTTP::Cookies; ################# Config ############### my $email = '[email protected]'; 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 =~ /<a href=\"(.+?)\" id=\"nextbut\">/; 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 =~/<td class=\"letavtor\"><nobr><span.+?>(.+?)<nobr><\/span><\/td>.+?<td class=lettem>(.+?)<\/td>.+?<td class=dat title=\"(.+?)\">/gs; while(1) { my ($nextpage) = $ex =~ /<a href=\"(.+?)\" id=\"nextbut\">/; last if (!$nextpage); $ex = $ua->get('https://e.mail.ru/agent/archive?folder=500005'.$nextpage)->content(); my @mess = $ex =~/<td class=\"letavtor\"><nobr><span.+?>(.+?)<nobr><\/span><\/td>.+?<td class=lettem>(.+?)<\/td>.+?<td class=dat title=\"(.+?)\">/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."<br>\r\n".$message."<br><br>\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($_); }
Скрипт на данный момент работает? Просто у меня почему то ничего не сохраняется. Только командная строка моргнет исчезает. Кто нибудь может мне помочь?
Народ такая проблема все сделал как было написано Он записывает только начало тоесть 1 страницу а птом просто считает дальше
Товарищи! Может кто-нибудь поможет починить парсер? Мейл изменил все до неузнаваемости, сам не могу раскурить скрипт, чтобы поправить, ибо с перлом особо не работал...