Jak używać wget do pobierania z witryn hostingowych?


11

wget jest bardzo przydatnym narzędziem do szybkiego pobierania rzeczy w Internecie, ale czy mogę go używać do pobierania z witryn hostingowych, takich jak FreakShare, IFile.it Depositfiles, przesłane, Rapidshare? Jeśli tak, jak mogę to zrobić?


4
Czy większość z tych stron nie używa javascript i innych barier w celu wyeliminowania bezpośredniego łączenia z plikami?
Tim

@ Tim Myślę, że masz rację, ponieważ nie można uzyskać bezpośredniego linku z tych stron.
Zignd

@swift Czy mógłbyś przetłumaczyć go na angielski i
napisać

Odpowiedzi:


11

Tego rodzaju strona utrudnia nieużywanie graficznej przeglądarki internetowej, ponieważ jeśli użyjesz wget, stracisz wszystkie te reklamy, które płacą za przepustowość.

Niektóre strony nie przeprowadzają zaawansowanych kontroli i można je łatwo oszukać: powiedz wget, aby udawał, że to naprawdę Mozilla i że pochodzi z witryny pobierania .

wget --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' \
     --referer=http://downloadsite.example.com/download-page-url
     http://downloadsite.example.com/download-page-url/filename.ext`

Większość witryn, które sprawdzają, pozwala uciec --user-agent=Mozillai --refererustawić adres URL pobieranego pliku.

W przypadku niektórych witryn może być konieczne wyeksportowanie plików cookie przeglądarki internetowej i przejście --load-cookiesdo wget; w tym momencie używanie wget zaczyna być bardziej pracochłonne niż ręczne pobieranie. Ostateczną metodą, która może działać cały czas, ale wymaga pewnego kodowania dla każdej witryny, jest użycie frameworka automatyzacji przeglądarki, takiego jak Selenium lub Watir .

Zobacz także Automatyzacja żądań internetowych za pomocą curl?


Niesamowite! Twoja odpowiedź pomogła mi napisać to dla ZippyshareLinks: stackoverflow.com/a/21100640/1533054
Sheharyar

7

W przypadku Zippyshare:

Ta metoda opiera się na odpowiedzi Gillesa . Jak powiedział, sztuczka polega na tym, aby serwer pomyślał, że żądanie jest wysyłane z przeglądarki i aby tak się stało, potrzebujesz kilku rzeczy:

  • Link do pobrania (rzeczywisty link do pliku)
  • Link Referrer (strona internetowa z przyciskiem pobierania)
  • Identyfikator sesji Zippyshare (znaleziony w plikach cookie)

Oto zrzut ekranu wyjaśniający, gdzie można zdobyć każdy przedmiot:

Pobierz z Zippyshare

Teraz otwórz terminal i użyj następującego polecenia (zastępując niezbędne elementy):

wget <download_link> \
--referer='<referrer>' \
--cookies=off --header "Cookie: JSESSIONID=<session_id>" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'

Przykład:

wget http://www16.zippyshare.com/d/29887835/8895183/hello.txt \
--referer='http://www16.zippyshare.com/v/29887835/file.html' \
--cookies=off --header "Cookie: JSESSIONID=26458C0893BF69F88EB5743D74FE0F8C" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'

Uwaga: w poleceniu tak referernie jestreferrer


1
Chciałbym tylko dodać, że Sheharyar używa Firebug na tym zrzucie ekranu. To jest dla wszystkich (włączając mnie), którzy próbowali to zrobić w Inspektorze (co niestety nie jest możliwe).
składniaerror

1

Chciałbym również nad doskonałymi odpowiedziami, użyłem następującej sztuczki do pobrania filmu dla dziecka dla mojego syna z Turbobit:

Zamiast SESSION_ID z powyższej odpowiedzi, musisz znaleźć „compid” na karcie cookie FIREBUG:

wprowadź opis zdjęcia tutaj

Potem polecenie dla mojego wbudowanego systemu Debian było bardzo łatwe:

wget --referer='http://http://turbobit.net/download/free/yilmacr4e351' --cookies=off --header "Cookie: compid=c9255510c34624435292d8a0e7e405be66aa01f9%7ED01343F87AB53A2C38D957A564DA1D55" --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' http://turbobit.net/download/redirect/B3EDACDA9B899937A149D5AAB6662327/yilmacr4e351/Ters.Yuz.2015.1080P.WEBDL.TR.EN.mkv &

Mogę teraz wyłączyć komputer :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.