Rapidownloader - skrypt do pobierania plików
: 28 grudnia 2008, 12:40
Dla własnych potrzeb ,,skrobnąłem'' skrypt do ściągania plików z rapida. Skrypt po ściągnięciu pliku wykonujeczyli np. w przypadku neostrady zmienia IP i ściąga dalej.
Co i jak działa?
W folderze ze skryptem tworzymy plik base.txt, w nim zapisujemy linki do rapida (jeden pod drugim każdy odnośnik w osobnej linii) oraz folder Download, do którego zapisywane będą pobrane pliki. Może się komuś przyda:
Kod: Zaznacz cały
ifdown -a; ifup -a
Co i jak działa?
W folderze ze skryptem tworzymy plik base.txt, w nim zapisujemy linki do rapida (jeden pod drugim każdy odnośnik w osobnej linii) oraz folder Download, do którego zapisywane będą pobrane pliki. Może się komuś przyda:
Kod: Zaznacz cały
#!/usr/bin/perl
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$base_f = 'base.txt';
$base = `cat $base_f`;
@chars = split(/\n/, $base);
$ilosc = push(@chars);
for($i=0; $i < $ilosc; $i++)
{
print "Przygotowanie do pobierania: $chars[$i]\n";
#print $chars[$i]."\n";
my $req = new HTTP::Request(GET => $chars[$i]);
my $res = $ua->request($req);
my $res = $ua->request($req);
$zwr = $res->content;
$zwr =~ m/<form id="ff" action="(.*?)"/g;
$zwr1 = `curl -sd "dl.start=Free" $1`;
$zwr1 =~ m/<input checked type="radio" name="mirror" onclick="document.dlf.action=\\'(.*?)\\';"/g;
print "Czekamy 50s...\n";
sleep(53);
print "Pobieramy...\n";
`wget -P Download $1`;
print "Pobrano: ";
shift @chars;
print "\n";
`echo -n > $base_f`;
for($l=0; $l < push(@chars); $l++)
{
`echo $chars[$l] >> $base_f`;
}
print "Resetowanie polaczenia!\n";
`ifdown -a; ifup -a`;
}
print "############################\n
#Pobieranie zakonczone!
############################\n"