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

  #143  
Старый 31.07.2007, 20:34
C!klodoL
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме:
4319431

Репутация: 677
По умолчанию

скрипт граббер тёток с сайта xuk.ru

Код:
#!/usr/bin/perl

use IO::Socket::INET;
use warnings;
use strict;

my $sPage = 1;
my $ePage = 35;

for ($sPage..$ePage) {
    open (LOG, '>>history.txt');
    my $rate = "http://xuk.ru/tits/".$sPage.".html?sort=rating";
    print "Page $sPage\n";
    print LOG "$rate\n";
    my $page = get($rate);
    my @telki = $page =~ /href="(.+?vid-1.html)">/gi;
    
    while (@telki) {
        my $telka = shift @telki;
        print "$telka\n";
        print LOG "\t$telka\n";
        my $links = get($telka);
        my @fotki = $links =~ /" border="1" bgcolor="#000000" src="(.+?)"/gi;
        $telka =~ /\/(.+)\/vid-1.html/i;
        my $mmm = $1;
        $mmm =~ s/(.*)\///;
        system("mkdir $mmm");
        
        while (@fotki) {
            my $fotka = shift @fotki;
            print "$fotka\n";
            print LOG "\t$fotka\n";
            (my $file = $fotka) =~ s(^.*/)();
            $fotka = get($fotka);
            open (FILE, ">$mmm/$file");
            binmode FILE;
            $fotka =~ m/\n\r\n(.+)/s;
            print FILE $1;
            close FILE;
        }
    }
    $sPage++;
}

sub get
{
    my ($url, $answ) = @_;
    $url =~ m/\/\/(.+?)\//i;
    my $sock = IO::Socket::INET->new(PeerAddr=>$1,
                                     PeerPort=>80,
                                     Proto=>'tcp') || die 'Cant connect';
    print $sock ("GET $url HTTP/1.0\r\n".
                 "Host: $1\r\n".
                 "Accept: */*\r\n".
                 "User-Agent: Perl\r\n".
                 "Connection: close\r\n\r\n");
    while (<$sock>)
    { $answ .= $_; }
    close $sock;
    return $answ;
}

Последний раз редактировалось C!klodoL; 01.09.2007 в 08:24..