Rapidshar Happy Hour Downloader by mr.The

Discussion in 'PHP' started by mr.The, 5 Jun 2008.

  1. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    На рапидшаре есть "счастливые часы" когда скачивать можно без ввода капчи и таймера. Так вот я написал скрипт который ожидает такого часа и сам скачивает нужные файлы.
    В файл list.txt - ссылки на файлы.
    файл good.txt - скрипт скачанные файлы(list.txt очищаеться от скачанного)
    ставим main.php на крон и радуемся.

    PHP:
    $password=$myNick."_rapid_load";
    ТЫЦ

    UPDATE

    Оптимизированая для консоли версия от Пончика ТЫЦ 2

    Ещё одна версия оптимизированая мной для хостинга. К ней приделан лог. ТЫЦ 3
     
    #1 mr.The, 5 Jun 2008
    Last edited: 9 Jun 2008
  2. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Эмм...
    Вот мне надо скачать например _http://rs228.rapidshare.com/files/79580564/CoverDVD.rar
    Прописал его в list.txt запустил скрипт, всё гут, создался файл CoverDVD.rar весом 10кб О_о Должен пару метров весить, естествено винрар его не открыл, открыл я его нотпадом, и шо там было.... Моя пага с апача (http://127.0.0.1/)
    Нихарашо, нихарашо....

    Разобрался, вот...
    Fix:
    Заменяем 36 строку
    PHP:
    preg_match("|<input checked .+\'(.*)\\';\">|isU",$file,$rnd);
    на
    PHP:
    preg_match("|<input checked.*document.dlf.action=\\\'(.*)\\\';\"|",$file,$rnd);
    Это будет находить зеркало откуда качать, ато скрипт ничё невидел ваще и качать было нечего

    и удаляем 40 строку
    PHP:
    $linkFile=substr($linkFile,0,strlen($linkFile)-1);
    иначе последняя буква будет отрубаться, например был file.rar станет file.ra и ничего не скачается, в общем всё, скрипт работает :)

    Ещё рекомендую строку 48
    PHP:
    $ffile=fopen(trim($name),"w+");
    заменить на
    PHP:
            $name trim($name);
            if(
    file_exists($name)) {
                
    $ext pathinfo($name);
                
    $name $ext['filename'].'['.time().'].'.$ext['extension'];
            }
            
    $ffile=fopen($name,"w+");
    Просто если файл уже существует, скрипт его заменит, а вот этим фиксом он создаст новый
    Блин, больше ничё сказать немогу, час халявы закончился :D
     
    #2 Ponchik, 8 Jun 2008
    Last edited: 8 Jun 2008
    1 person likes this.
  3. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    хм.. спс))
    PHP:
     $linkFile=substr($linkFile,0,strlen($linkFile)-1); 
    это было потому что там регулярка такая. я несмог исправить =\
     
  4. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Ахтунг!
    _http://slil.ru/25880475
    Консольная версия
    +Показывает сколкьо % скачно
    +Пишет сразу в файл, до этого всё хранилось в оперативке, такчто если надо было скачать пару гигов надо было оперативку покупать :))) Щас всё пишется напрямую в файл
    +Если не happy hour то ждёт 600 сек, потом снова пробует
    +В архиве лежат ссылкт на порево :D
    Умирает только после того как всё скачает, тоесть залил куданить и через месяц защёл а там всё скачано :)
    Запускайте в командной строке, как это сделать?
    Качаем http://php.ru/download/php-5.2.1-Win32.zip распаковываем например в C:/php потом кидаем скрипт например в C:/script/script.php потом жмакаем Пуск/Выполнить/cmd и туда пишем C:/php/php.exe C:/script/script.php Остальное всё также, файл list.txt должен быть в папке с скриптом, качайте на здоровье :)
    P.S. Не обязательно запускать из камндной строки, можно залить на хостинг и там стартануть только сколько и чего скачал скрипт не очень понятно будет, но он всё правильно скачает, закинет в папку и в good.txt отпишет что и как называется

    Update 09.06.2008: Скрипт зацикливал, исправил, обязательно скачате, ато он будет вам качать один и тотже файл http://slil.ru/25880475
     
    #4 Ponchik, 8 Jun 2008
    Last edited: 9 Jun 2008
    4 people like this.
  5. etc

    etc Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    113
    Likes Received:
    175
    Reputations:
    1
    Может, из коммандной строки, а не из под доса?
     
    1 person likes this.
  6. k0lbasa

    k0lbasa Elder - Старейшина

    Joined:
    25 May 2008
    Messages:
    189
    Likes Received:
    131
    Reputations:
    -9
    ну что сказать, молодцы!
     
  7. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    Оптимизировал для хостинга(хост нужен без тайм лимита и с поддержкой сокетов). Теперь всё в логе.
    _http://slil.ru/25881022
     
  8. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    mr.The, стукнись в аську (смари на аваторе) чёнить придумаем вместе :)