Rapidshare downloader
Jakiś czas temu wykupiłem konto na rapidshare – miałem potrzebę uzupełnienia listy “plików” ;) [nikt nie przyzna się do piracenia]. Konto premium ma wiele zalet – i jedną wadę – trzeba za nie płacić. Ponieważ jestem typowym “centusiem” ograniczyłem się do jednego miesiąca. Niestety nie uzupełniłem kolekcji i pozostałe pliki musiałem ściągać z “free” – ono ma więcej wad, ale największa jest taka, że można pobierać tylko 1 plik jednocześnie. Powoduje to niepotrzebną stratę czasu przy pobieraniu kolejnych elementów większych kolekcji. Rozwiązanie? Skrypty :) Tylko jak pobierać pliki z radpishare?
Nie znalazłem nic prostego i szybkiego na sieci (a pewnie za mało szukałem). Siadłem do pisania i po 30 minutach otrzymałem gotowe rozwiązanie pobierania plików z rapidshare. Uwaga: ponieważ skrypt pobierania był pisany na szybko i wyłącznie do momentu pierwszego poprawnego pobrania jest on dość chaotyczny i niepotrzebnie skomplikowany (obiecywałem sobie, że go uprzątnę, ale póki działa nie będę tego robił). Drugi plik jest “launcherem” pobierającym wszystkie pliki z listy zawartej w files.txt. Tyle o paczce, teraz o samym pobieraniu.
Skrypt jest chaotyczny, ale działający – przede wszystkim obawiałem się, że rapidshare będzie miał jakieś zabezpieczenia przed pobieraniem – ukryte javascript’y, ukryte obrazki, kombinacje i inne elementy utrudniające pobieranie “automatem”. Niestety nic takiego nie ma! …na szczęście :-) Skrypt używa zewnętrznego curl (/usr/bin/curl) do pobrania “ostatecznego” pliku, gdyż pobieranie w PHP nie ma sensu – a ja jestem zwolennikiem zasady, że należy wszystko robić najprościej jak się da. Pobieranie “stron” i symulowanie użytkownika jest wykonywane przy użyciu curl w PHP. Cały proces ma trzy etapy: pobranie strony z wyborem sposobu pobierania pliku, wywołanie formularza “Free”, i ostateczne pobranie pliku (po odczekaniu 92 sekund [max czasu odczekania jaki znalazłem na rs]).
To chyba wszystko co warto napisać o pobieraniu – w razie problemów/sugestii/nowych wersji plików proszę pisać w komentarzach :)
Marcin, a jak należy ten skrypt odpalać? Mam załadować te trzy pliki (jeden *.php, jeden *.sh i uzupełniony *.txt) na serwer i odpalić *.php? Gdzie załadują się pobierane pliki? Pytam, bo nie wiem, a z kodu nie potrafię się domyśleć.