Показать сообщение отдельно

  #8  
Старый 08.12.2008, 19:27
ZAMUT
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;
...