Кодеры с mail.ru грешат выставляя напоказ мыла пользователей. Их можно собрать с сервера ответов. Для начала я написал универсальный сборщик мыл по url'ам ему подаёшь файл с проксями, файл с url, выходной файл. Code: #!/usr/bin/perl #(c) RED_EYEs forum.antichat.ru #!/usr/bin/perl use threads; sub usage(){ print <<END -p file with proxyies -o output file [default stdout] -i input file [default stdin] -t pause between requests(seconds дробное) -s use self END ; die "___"; } use LWP::UserAgent; use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep clock_gettime clock_getres clock_nanosleep clock stat ); our $cc=''; my %StartKeys=(-p=>"proxys",-i=>"input",-t=>"time",-o=>"output"); our %conf=(proxys=>"",input=>"",time=>0.2,-o=>"",-s=>""); my $i=0; our $self; while($i<=$#ARGV) { $self=1,$i++,next if($ARGV[$i] eq "-s"); usage() unless(defined $StartKeys{$ARGV[$i]}); $conf{$StartKeys{$ARGV[$i]}}=$ARGV[$i+1]; $i+=2 } close (STDIN), open (STDIN,"<",$conf{input}) if $conf{input}; close (STDOUT),open (STDOUT,">>",$conf{output}) if $conf{output}; if ($conf{proxys}) { open (PRX,"<",$conf{proxys}); our @proxs=<PRX>; close(PRX) }; # sub geturl(){ # local $z=<STDIN>; #warn "!"; #return $z; #} sub MainThread($) { # return if(fork()); my $ua = LWP::UserAgent->new; $zz=$_[0]; $ua->proxy(['http', 'ftp'], 'http://'.$zz.'/') if($zz); $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5"); while(<STDIN>){ my $tm=Time::HiRes::time(); my $req = HTTP::Request->new(GET => "$_") ; my $res = $ua->request($req) or sleep(2) and next; if ($res->is_success) { print STDOUT $_."\n" for($res->content=~/[^A-Za-z0-9._%+-]([A-Za-z0-9._%+-]+\@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})[^A-Za-z]/gm); } usleep(($conf{time}+$tm-Time::HiRes::time())*1000000) if(Time::HiRes::time()-$tm<$conf{time}); } #$_->join() for (@thrd); #exit(); return; } $z=0; for $i(@proxs) { $thrd[$z++]=threads->create(\&MainThread,$i); } MainThread('') if($self); $_->join() for (@thrd); Все вопросы можно получить по следующему url их можно сгенерировать вот таким образом. ./script.pl -p ./proxy.txt -t 0.3 -i ./urls.txt > ./trash.txt - запускаем sort -u ./trash.txt - получаем уникальные отсортированные
PS на перле многопоточные приложения писать не удобно. Чиво? Если не умеешь - так и скажи, а не хуиту какую-то неси.
зачем так сложно? тут вроде бы все описывалось http://forum.antichat.ru/thread167280.html - весь код можно было уместить в одной регулярке
а не заберёт ли эта регулярка текст введёный пользователями? PS. Собственно это будет полезный текст PS. Сменил регулярку PS да собственно и код то сам в регулярке
как можно кодить , незная что такое регулярка? http://forum.antichat.ru/showpost.php?p=1792606&postcount=2 там пример работы скрипта,(на ответах майлру) ну а сама регулярка preg_match_all('/[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/', $text, $out); Собирает ТОЛЬКО емайлы с заданной страници(причем в любом их виде), ну а еслиб мне потребовалось собирать и ответы я бы составил регулярку которая б выдергивала и их P.S. Большая просьба- если выкладываете не свой софт, скрипт то указывайте источник . навеянно
о да!!! Заюзать shift для прокси и для номер страниц. Потом запустить потоки в цикле. Очень трудно. Статья ниочем, приведенный код - какашка.
щас всё подругому to Wildsman: не сильно по ресурсам различаются многопоточное приложение и приложение размноженное через fork/exec если там нет взаимосвязи между потоками. Kusto: она собирает из сети. а не со страницы