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.
-shroot/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.
|
|
|