
08.12.2008, 19:27
|
|
Members of Antichat - Level 5
Регистрация: 24.10.2007
Сообщений: 256
Провел на форуме: 6905523
Репутация:
1174
|
|
Накидал скриптик--
Код:
#!/usr/bin/perl
use IO::Socket;
use strict;
use threads;
use threads::shared;
my ($k):shared;
my $ot = $ARGV[0]; # Начальная страница
my $do = $ARGV[1]; # Конечная
$k = 0;
my $dir = 'open'; # Директория с открытыми вопросами, можно vote - вопросы на голосовании.
my ($socket,$s,$i);
open FILE,'>mails.txt';
for(0..$ARGV[2]) {threads->create(\&Grab,$_);}
for(threads->list) { $_->join; }
sub Grab
{
for($i=$ot;$i<=$do;$i++)
{
$socket = IO::Socket::INET->new("otvet.mail.ru:80") || die("Can't connecting!");
print $socket "GET http://otvet.mail.ru/$dir/?asort=0&asc=0&opg=$i HTTP/1.0\r\n".
"Host: www.otvet.mail.ru\r\n".
"Accept-Language: ru\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: 214\n\n";
while(<$socket>)
{
$s = <$socket>;
if($s=~/message&to=(.+)\"><img src=\"http/) { $k++; print FILE $1.";\r\n"; };
}
close $socket;
}
}
print "END!\r\nPage: $ot - $do\r\nALL: $k\r\n";
close FILE;
сие работает многопоточно, запускать так:
Код:
perl bla.pl [начальная страница] [конечная] [потоки]
Сохраняет в mails.txt, формат:
Код:
bla@list.ru;
bla2@mail.ru;
...
|
|
|