| Pobieranie plików z rapidshare - skrypty | 
| Zbyszekk | Dodano 17-08-2008 17:14 | 
|  
 User
 
  
 
 Posty: 2
 Dołączył: 17/08/2008 17:02
 
 
 | Chcę wykorzystać mój router do pobierania plikow z rapidshare, po ostatnich zmianach pobieranie staje się bardzo łatwe. Jest juz gotowy skrypt do pobierania: http://jachacy.jogger.pl/2008/07/03/rsget-sh-skrypt-automatyzujacy-pobieranie-z-rapidshare-com/ natomiast nie działa on na OpenWrt.
 Z mojej analizy wynika że program sed nie 'odfiltrowuje' dokładnie tekstu, przez co nie mozna pobierać plików. Gdyby ktoś z szanownych użytkowników mógł przepisać skrypt tak aby działał on na OpenWrt byłbym bardzo wdzięczny.
 
 Można także wykorzystać prostszy skrypt: http://emkay.unpointless.com/Blog/?p=63.
 | 
|  | 
 
 | 
|  | 
| Zbyszekk | Dodano 17-08-2008 17:49 | 
|  
 User
 
  
 
 Posty: 2
 Dołączył: 17/08/2008 17:02
 
 
 | Sam sobie poradziłem z użyciem obydwu skryptów :) 
 Kod:
 #!/bin/sh
 while read line
 do
 
 URL=$(curl -s $line | grep "
ourfile=$(curl -s -d "dl.start=Free" "$URL");
 czas=$(echo "$ourfile" | grep "var c" | sed -e "s/var c=\([0-9]*\);.*/\1/");
 ourfile=$(echo "$ourfile"| grep "document.dlf.action=" | grep -o 'http://[^"]*rar' | head -n 1);
 
 sleep $czas;
 wget $ourfile;
 
 done < input.txt
 
 Skrypt pobiera wszystkie linki z podanego pliku. Do skryptu potrzebny jest curl ( ipkg install curl )Dodatkowo poprawiłem czas oczekiwania - skrypt czeka dokładnie tyle czasu ile potrzeba.
 Edytowany przez Zbyszekk dnia 17-08-2008 17:50
 | 
|  | 
 
 | 
|  | 
| manius | Dodano 01-11-2008 10:23 | 
|  
 User
 
  
 
 Posty: 198
 Dołączył: 06/08/2006 11:38
 
 
 | co mam wpisać aby pobierał? 
 Pozdrawiam Marcin
 
 | 
|  | 
 
 | 
|  | 
| Flyer | Dodano 05-11-2008 00:41 | 
|  
 User
 
  
 
 Posty: 2
 Dołączył: 05/11/2008 00:37
 
 
 | < np:
 rsget.sh < ubuntu_parts.txt
 
 Pamiętaj aby nadać skryptowi prawa wykonywalności poleceniem "chmod +x".
 | 
|  | 
 
 | 
|  | 
| rostman | Dodano 27-12-2008 13:36 | 
|  
 User
 
  
 
 Posty: 12
 Dołączył: 25/07/2008 23:27
 
 
 | Jak zmienic lokalizacje pobieranych plikow, aby sie sciagalo do okreslonego folderu (sciaga mi sie albo do /tmp lub do filesystem)? pozdrawiam
 | 
|  | 
 
 | 
|  | 
| wieszti | Dodano 27-12-2008 18:46 | 
|  
 User
 
  
 
 Posty: 5
 Dołączył: 02/02/2008 19:57
 
 
 | @Zbyszekk dzięki, przyda się 
 @rostmann
 musisz edydtować skrypt i dodać do wget parmaet -P np  wget -P /jffs/mojkatalog $ourfile;
 albo skopiwać skryt tam gdzie maja byc pobrane pilki i odpalić stamtąd
 | 
|  | 
 
 | 
|  | 
| Szoszon | Dodano 04-01-2009 15:48 | 
|  
 Power User
 
  
 
 Posty: 267
 Dołączył: 16/12/2008 06:22
 
 
 | Witam Wielki szacunek dla twórcy , jednak u mnie ten skrypt nie chce się wogóle uruchomić.
 Hm może go żle uruchamiam ? W pliku input.txt jest link na rapidshare
 
 root@OpenWrt:/hdd/Rapidshare# ./rsget.sh < input.txt
 root@OpenWrt:/hdd/Rapidshare#
 
 | 
|  | 
 
 | 
|  | 
| Flyer | Dodano 09-01-2009 16:28 | 
|  
 User
 
  
 
 Posty: 2
 Dołączył: 05/11/2008 00:37
 
 
 | @Szoszon Sprawdź czy skrypt ma odpowiednią treść.
 Spróbuj nadać mu atrybut wykonalności 'chmod +x rsget.sh'
 Zobacz czy w pliku input.txt linków nie poprzedza znak nowej linii.
 | 
|  | 
 
 | 
|  | 
| Bolo92 | Dodano 09-01-2009 20:19 | 
|  
 User
 
  
 
 Posty: 17
 Dołączył: 05/05/2008 15:32
 
 
 | A da się zrobić, żeby zapisywało na pendrive podłączonym do drukarki. WRT>skrętka do LANa drukarki(tak, tak LAn a nie USB) i w drukarce czytnik kart i jeden port USB, do USB podłączony pendrive.
 Da się przeglądać jego zasoby wpisując w Xp np. w uruchom \\192.168.1.15\memory_card i jest zawartość pendrive. Tylko jak zmusić wgeta do zapisywania tam ? próbowałem montować to w CIFS ale niebardzo wychodziło podawałem taki adres do montowania jak tutaj.
 Nie wiem czy nie potrafi sobie zapisać, czy co ale próbowałem go wykonać i pobrać 5KB plik i nie pobrał i wypisuje że czegoś tam nie ma.
 -sh
  root/rsget.sh: not found z tym, że jak wpisałem chmod to przyznało, a jak próbuję chmod nieistniejącemu plikowi nadać to nie nada tylko wypisze, że nie istnieje.
 Plik na rapidshare na pewno jest.
 Edytowany przez Bolo92 dnia 10-01-2009 00:16
 | 
|  | 
 
 | 
|  | 
| Adik | Dodano 27-01-2009 22:40 | 
|  
 User
 
  
 
 Posty: 178
 Dołączył: 15/08/2006 09:07
 
 
 | Cytat Zbyszekk napisał/a:Sam sobie poradziłem z użyciem obydwu skryptów :)
 
 Kod:
 #!/bin/sh
 while read line
 do
 
 URL=$(curl -s $line | grep "
ourfile=$(curl -s -d "dl.start=Free" "$URL");
 czas=$(echo "$ourfile" | grep "var c" | sed -e "s/var c=\([0-9]*\);.*/\1/");
 ourfile=$(echo "$ourfile"| grep "document.dlf.action=" | grep -o 'http://[^"]*rar' | head -n 1);
 
 sleep $czas;
 wget $ourfile;
 
 done < input.txt
 
 Skrypt pobiera wszystkie linki z podanego pliku. Do skryptu potrzebny jest curl ( ipkg install curl )Dodatkowo poprawiłem czas oczekiwania - skrypt czeka dokładnie tyle czasu ile potrzeba.
 Skrypt ma problemy z pobieraniem kilku linków z pliku, nie uwzględnia czasu jaki musimy odczekać po ściągnięciu. Zrobiłem więc małą modyfikację, ale pewnie można to jeszcze zgrabniej rozwiązać. ;)
 
 Tworzymy skrypt wait.sh:
 
 
 
 #!/bin/sh
 sed -n '1p' /mnt/pendrive/linki.txt > temp.txt && /mnt/pendrive/rapid.sh < temp.txt && sleep 904s
 sed -n '2p' /mnt/pendrive/linki.txt > temp.txt && /mnt/pendrive/rapid.sh < temp.txt && sleep 904s
 sed -n '3p' /mnt/pendrive/linki.txt > temp.txt && /mnt/pendrive/rapid.sh < temp.txt && sleep 904s
 Oczywiście liczbę linijek należy dostosować do ilości linków w pliku linki.txt. Teraz musimy jeszcze zmienić końcówkę skryptu rapid.sh na:
 
 
 
 
 Należy jeszcze nadać atrybut wykonywalności (chmod +x nazwa_skryptu.sh). Odpalamy główny skrypt poleceniem ./wait.sh i idziemy spać. ;)
 
 | 
|  | 
 
 | 
|  | 
| Szoszon | Dodano 28-01-2009 13:32 | 
|  
 Power User
 
  
 
 Posty: 267
 Dołączył: 16/12/2008 06:22
 
 
 | Dzięki @Adik , mam nadzieję że uda mi się to dzisiaj wypróbować B) 
 TP-MR3420 OpenWrt Backfire 10.03.XX | 
|  | 
 
 | 
|  | 
| Adik | Dodano 29-01-2009 08:56 | 
|  
 User
 
  
 
 Posty: 178
 Dołączył: 15/08/2006 09:07
 
 
 | Poprosiłem Piotra Jachacego o poprawienie skryptu z pierwszego posta, działa teraz na OpenWRT  
 http://jachacy.mm5.pl/pub/rsget.sh
 
 ściągamy uruchamiając skrypt: ./rsget.sh -i jakis_plik_z_linkami.txt
 
 | 
|  | 
 
 | 
|  | 
| Szoszon | Dodano 29-01-2009 12:38 | 
|  
 Power User
 
  
 
 Posty: 267
 Dołączył: 16/12/2008 06:22
 
 
 | Super , powiedz mi tylko , jak wybrać katalog docelowy do ściąganych plików i gdzie umieścić listę , czyli plik txt . Chyba że oba pliki rsget.sh i plik.txt kopiujemy do wybranego katalogu na hdd i tam się to ściąga ?
 
 TP-MR3420 OpenWrt Backfire 10.03.XX | 
|  | 
 
 | 
|  | 
| Adik | Dodano 29-01-2009 12:43 | 
|  
 User
 
  
 
 Posty: 178
 Dołączył: 15/08/2006 09:07
 
 
 | Jak pobierać do konkretnej lokalizacji pisał wyżej wieszti. Jeśli skopiujesz oba pliki do konkretnego katalogu i odpalisz skrypt to właśnie tam się wszystko ściągnie. 
 | 
|  | 
 
 | 
|  | 
| Szoszon | Dodano 30-01-2009 17:23 | 
|  
 Power User
 
  
 
 Posty: 267
 Dołączył: 16/12/2008 06:22
 
 
 | Skrypt działa suuuuper - dzięki @adik za załatwienie sprawy  Jedno pytanko , jak to wyłączyć ?
 Edytowany przez Szoszon dnia 30-01-2009 17:26
 
 TP-MR3420 OpenWrt Backfire 10.03.XX | 
|  | 
 
 | 
|  | 
| Adik | Dodano 30-01-2009 17:39 | 
|  
 User
 
  
 
 Posty: 178
 Dołączył: 15/08/2006 09:07
 
 
 | zabij proces z drugiej konsoli, uwazaj na ctrl+c bo mozesz zawiesic caly router 
 | 
|  | 
 
 | 
|  | 
| Szoszon | Dodano 30-01-2009 18:01 | 
|  
 Power User
 
  
 
 Posty: 267
 Dołączył: 16/12/2008 06:22
 
 
 | Proces ? czyli wget ? Zabiję go jutro , normalnie muskopię dupsko B)
 
 TP-MR3420 OpenWrt Backfire 10.03.XX | 
|  | 
 
 | 
|  | 
| Szoszon | Dodano 30-01-2009 19:07 | 
|  
 Power User
 
  
 
 Posty: 267
 Dołączył: 16/12/2008 06:22
 
 
 | Coś jednak nie działa tak jak ma , ponieważ ściagnął jeden link i zakończył działanie. W czasie pobierania pierwszego linku , wyłączyłem połączenie w putty.
 Jak po ponownym połączeniu podejrzeć czy skrypt coś robi ? i jka zrobić aby działał cały czas do momentu ściągnięcia wszystkich linków?
 
 TP-MR3420 OpenWrt Backfire 10.03.XX | 
|  | 
 
 | 
|  | 
| obsy | Dodano 30-01-2009 19:22 | 
|  
 VIP
 
  
 
 Posty: 5775
 Dołączył: 31/10/2006 20:06
 
 
 | Bo to w screenie trzeba uruchomić, jak rtorrenta. 
 opkg install screen
 
 A później google i jak to obsługiwać (ctrlA-d, -r itd)
 Edytowany przez obsy dnia 30-01-2009 19:22
 
 | 
|  | 
 
 | 
|  | 
| Adik | Dodano 30-01-2009 19:29 | 
|  
 User
 
  
 
 Posty: 178
 Dołączył: 15/08/2006 09:07
 
 
 | Szoszon zapoznaj się z tym artykułem, skrypt działa znakomicie. 
 http://jakilinux.org/aplikacje/konsola/screen-sztuczki/
 
 Jedyne co wymaga poprawy to polskie znaki w screenie.
 
 | 
|  | 
 
 |