ďťż
Misja Tereski
Witam
Czy ktoś wie jak zmodyfikować ten skrypt żeby działał w windowsie i jak go zainstalować Download: Rapidshare, Hotfile, Megaupload, Przeklej i Inne #!/usr/bin/perl -l use warnings; use strict; my @linki = (); my ($pP, $sC, $plik, $sNext, $sStart, $rozmiar, $linkBezposredni, $data); #okres czasu między ponowną probą ($pP) $pP = 45; #plik z linkami open(FILE, "<input.txt"); #log, w którym będziemy zapisywać pliki już ściągnięte open(LOG, ">>.rapid_download"); #odczytujemy wszystkie linki chomp(@linki = <FILE>); #zamykamy linki close(FILE); #sciagamy kazdy plik foreach my $link (@linki) { #suma czekania - ile łącznie sekund czekamy na plik - przydatne do informacji dla uzytkownika my $sC = 0; #nazwa pliku $link =~ m:/([^/\s]*)\s*$: and $plik = $1; #dodatkowe zabezpiecznie przed plikami typu archiwum.rar.html if ($plik =~ m:(.*)\.html$:) { if (-e $1) { print "!! $plik istnieje"; next; } } #jesli plik juz istnieje na dysku - nie sciagamy go wiecej if (-e $plik) { print "!! $plik istnieje"; next; } #petla wykonuje sie w nieskonczonosc, az z niej nie wyskoczymy #rozwiazanie spowodowane wygoda while (1) { #pobieramy strone podstawowa $sStart = `curl -s $link`; #rozmiar pliku, ktory chcemy pobrac $sStart =~ m:\| (\d+) KB:g and $rozmiar = $1 or print "!!Nie moge odczytac rozmiaru"; #szukamy linka do kolejnej strony $sStart =~ m:<form id="ff" action="(.*?)" method="post">:; #przechodzimy do tej kolejnej strony z opcja konto darmowe $sNext = `curl -s -d "dl.start=Free" "$1"`; #---- #tutaj sa opcje odpowiedzi systemu rapidshare i reakcje na nie #---- #opcja 1: rapid kaze czekac, bo wlasnie skonczylismy pobierac jakis plik (zwykle <=15 minut) if ($sNext =~ m:try again in about (\d+) minutes:) { #komunikat dla uzytkownika printf("!! %s: nieaktywny (%dm zostalo). Restart za %ds (czekam juz %d:%ds)\n", $plik, $1, $pP, int($sC / 60), $sC % 60); #zamieramy na moment sleep $pP; #zwiekszamy sume czekania $sC += $pP; } elsif ($sNext =~ m:document.dlf.action=\\\N{U+0027}(.*?)\\\N{U+0027}:) { #mozna sciagac wyjmujemy pierwszy lepszy link $linkBezposredni = $1; my $czekam = 180; #wydobywamy ilosc czasu oczekiwania (z marginesem dwóch sekund, na wszelki wypadek) $sNext =~ m:var c=(\d+);: and $czekam = $1 + 2 or print "!! nie moge znalezc czasu, przyjmuje max"; #informacja dla uzytkownika print "Pobieram $plik za $czekam", "s"; #czekamy, az link sie nie "pojawi" sleep $czekam; #tutaj pobieramy plik print `wget $linkBezposredni`; #biezaca data chomp($data = `date "+%F %R"`); #zapis do logu print LOG "$data: $plik ($rozmiar KB) czekajac $czekam", "s"; #wyskakujemy z pętli last; } #ktos juz sciaga z naszego ip (a moze odpalilismy skrypt dwa razy przez przypadek?) elsif ($sNext =~ m/is already downloading a file/) { #info dla usera printf("!! %s: ściąganie zajęte. Restart za %ds (czekam juz %d:%ds)\n", $plik, $pP, int($sC / 60), $sC % 60); #spimy sleep $pP; $sC += $pP; } #jakis blad, prawdopodobnie plik usuniety else { printf("!! %s: odpowiedz nie wspierana.\n", $plik); sleep 30; $sC += $pP; last if $sC > 180; } } } #zamykamy logi close(LOG); Download bez limitów Jak widać jest to plik na linuxa .Może ktoś wie jak się za to zabrać |