Jak pobierać strony internetowe i pliki za pomocą wget

Narzędzie wget pobiera strony internetowe, pliki i obrazy z sieci przy użyciu wiersza poleceń systemu Linux. Możesz użyć jednego polecenia wget, aby pobrać z witryny lub skonfigurować plik wejściowy, aby pobrać wiele plików z wielu witryn. Zgodnie ze stroną podręcznika wget może być używany nawet wtedy, gdy użytkownik wylogował się z systemu. Aby to zrobić, użyj polecenia nohup.


Funkcje polecenia wget

Możesz pobrać całe strony internetowe za pomocą wget, i przekonwertuj łącza, aby wskazywały na źródła lokalne, aby można było przeglądać witrynę w trybie offline. Narzędzie wget również ponawia próbę pobrania, gdy połączenie zostaje przerwane, i wznawia od miejsca, w którym zostało przerwane, jeśli to możliwe, gdy połączenie powróci.

Inne funkcje wget są następujące:

  • Pobierz pliki za pomocą HTTP, HTTPS i FTP.
  • Wznów pobieranie.
  • Konwertuj bezwzględne linki na pobranych stronach internetowych na względne adresy URL, aby można było przeglądać witryny w trybie offline.
  • Obsługuje serwery proxy HTTP i pliki cookie.
  • Obsługuje trwałe połączenia HTTP.
  • Może działać w tle, nawet jeśli nie jesteś zalogowany.
  • Działa na Linuksie i Windowsie.

Jak pobrać witrynę internetową za pomocą wget

W tym przewodniku dowiesz się, jak pobrać ten blog dotyczący systemu Linux:

wget www.ever

Zanim zaczniesz, utwórz folder na komputerze za pomocą polecenia mkdir, a następnie przejdź do folderu za pomocą polecenia cd.

Na przykład:

mkdir dailylinuxuser
cd dailylinuxuser
wget www.ever

Rezultatem jest pojedynczy plik index.html zawierający treść pobraną z Google. Obrazy i arkusze stylów są przechowywane w Google.

Aby pobrać pełną witrynę i wszystkie strony, użyj następującego polecenia:

wget -r www.ever

Powoduje to rekurencyjne pobieranie stron do maksymalnie 5 poziomów głębokości. Pięć poziomów głębokości może nie wystarczyć, aby pobrać wszystko z witryny. Użyj -l przełącz, aby ustawić liczbę poziomów, do których chcesz przejść, w następujący sposób:

wget -r -l10 www.ever

Jeśli chcesz mieć nieskończoną rekurencję, użyj:

wget -r -l inf www.ever

Możesz również wymienić inf z 0, co oznacza to samo.

Jest jeszcze jeden problem. Możesz pobrać wszystkie strony lokalnie, ale linki na stronach wskazują oryginalne miejsce. Nie można klikać lokalnie między linkami na stronach.

Aby obejść ten problem, użyj -k przełącz, aby przekonwertować linki na stronach, aby wskazywały na lokalnie pobrany odpowiednik, w następujący sposób:

wget -r -k www.ever

Jeśli chcesz uzyskać pełną kopię lustrzaną witryny, użyj poniższego przełącznika, który eliminuje konieczność korzystania z -r, -k, -l przełączniki.

wget -m www.ever

Jeśli masz witrynę internetową, możesz wykonać pełną kopię zapasową za pomocą tego jednego prostego polecenia.


Uruchom wget jako polecenie w tle

Możesz uruchomić wget jako polecenie w tle, dzięki czemu możesz kontynuować pracę w oknie terminala podczas pobierania plików. Użyj następującego polecenia:

wget -b www.ever

Możesz łączyć przełączniki. Aby uruchomić polecenie wget w tle podczas tworzenia kopii lustrzanej witryny, użyj następującego polecenia:

wget -b -m www.ever

Możesz to jeszcze bardziej uprościć w następujący sposób:

wget -bm www.ever


Logowanie

Jeśli uruchomisz polecenie wget w tle, nie zobaczysz żadnych zwykłych komunikatów, które wysyła na ekran. Aby wysłać te komunikaty do pliku dziennika, aby w dowolnym momencie można było sprawdzić postęp, użyj polecenia tail.

Aby wyprowadzić informacje z polecenia wget do pliku dziennika, użyj następującego polecenia:

wget -o / ścieżka / do / mylogfile www.ever

Odwrotna sytuacja polega na tym, że w ogóle nie trzeba rejestrować ani wyświetlać na ekranie. Aby pominąć wszystkie dane wyjściowe, użyj następującego polecenia:

wget -q www.ever

Pobierz z wielu witryn

Możesz skonfigurować plik wejściowy do pobierania z wielu różnych witryn. Otwórz plik za pomocą ulubionego edytora lub polecenia cat i wymień witryny lub łącza do pobrania w każdym wierszu pliku. Zapisz plik, a następnie uruchom następujące polecenie wget:

wget -i /

Oprócz utworzenia kopii zapasowej witryny lub znalezienia czegoś do pobrania do czytania w trybie offline, jest mało prawdopodobne, że będziesz chciał pobrać całą witrynę. Bardziej prawdopodobne jest, że pobierzesz pojedynczy adres URL z obrazami lub pobierzesz pliki, takie jak pliki zip, pliki ISO lub pliki obrazów.

Mając to na uwadze, nie musisz wpisywać następujących danych do pliku wejściowego, ponieważ jest to czasochłonne:

  • http://www.myfileserver.com/file1.zip
  • http://www.myfileserver.com/file2.zip
  • http://www.myfileserver.com/file3.zip

Jeśli wiesz, że podstawowy adres URL jest taki sam, określ w pliku wejściowym następujące informacje:

  • plik1.zip
  • plik2.zip
  • plik3.zip

Następnie możesz podać podstawowy adres URL jako część polecenia wget w następujący sposób:

wget -B http://www.myfileserver.com -i /

Opcje ponawiania

Jeśli skonfigurujesz kolejkę plików do pobrania w pliku wejściowym i pozostawisz komputer uruchomiony w celu pobrania plików, plik wejściowy może utknąć, gdy jesteś daleko i ponawiać próbę pobrania zawartości. Możesz określić liczbę ponownych prób za pomocą następującego przełącznika:

wget -t 10 -i /

Użyj powyższego polecenia w połączeniu z -T przełącz, aby określić limit czasu w sekundach w następujący sposób:

wget -t 10 -T 10 -i /

Powyższe polecenie ponowi próbę 10 razy i będzie łączyć się przez 10 sekund dla każdego łącza w pliku.

Jest to również niewygodne, gdy pobierasz 75% 4-gigabajtowego pliku przy wolnym połączeniu szerokopasmowym tylko w celu zerwania połączenia. Aby użyć wget do ponownej próby od miejsca, w którym zatrzymano pobieranie, użyj następującego polecenia:

wget -c www.myfileser

Jeśli wbijesz serwer, hostowi może się to nie podobać i może zablokować lub zabić Twoje żądania. Możesz określić okres oczekiwania, aby określić, jak długo ma czekać między każdym pobieraniem, w następujący sposób:

wget -w 60 -i /

Powyższe polecenie czeka 60 sekund między każdym pobieraniem. Jest to przydatne, jeśli pobierasz wiele plików z jednego źródła.

Niektórzy usługodawcy hostingowi mogą wykryć częstotliwość i zablokować Cię. Możesz ustawić okres oczekiwania losowo, aby wyglądał, jakbyś nie korzystał z programu, w następujący sposób:

wget --random-wait -i /

Chroń limity pobierania

Wielu dostawców usług internetowych stosuje limity pobierania przy korzystaniu z łączy szerokopasmowych, szczególnie w przypadku osób mieszkających poza miastem. Możesz dodać limit, aby nie przekroczyć limitu pobierania. Możesz to zrobić w następujący sposób:

wget -q 100m -i /

The -q polecenie nie będzie działać z jednym plikiem. Jeśli pobierzesz plik o rozmiarze 2 gigabajtów, użyj -q 1000m nie zatrzymuje pobierania pliku.

Przydział jest stosowany tylko w przypadku rekurencyjnego pobierania z witryny lub korzystania z pliku wejściowego.

Przejdź przez zabezpieczenia

Niektóre witryny wymagają zalogowania się, aby uzyskać dostęp do treści, które chcesz pobrać. Użyj następujących przełączników, aby określić nazwę użytkownika i hasło.

wget --user = twoja nazwa użytkownika - hasło

W systemie wielu użytkowników, gdy ktoś uruchamia ps polecenie, mogą zobaczyć twoją nazwę użytkownika i hasło.

Inne opcje pobierania

Domyślnie -r przełącznik rekurencyjnie pobiera zawartość i tworzy katalogi na bieżąco. Aby pobrać wszystkie pliki do jednego folderu, użyj następującego przełącznika:

Przeciwieństwem tego jest wymuszenie tworzenia katalogów, co można osiągnąć za pomocą następującego polecenia:

Jak pobierać określone typy plików

Jeśli chcesz pobierać rekursywnie z witryny, ale chcesz pobrać tylko określony typ pliku, taki jak MP3 lub obraz, taki jak PNG, użyj następującej składni:

wget -A &

Odwrotnością tego jest ignorowanie niektórych plików. Być może nie chcesz pobierać plików wykonywalnych. W takim przypadku użyj następującej składni:

wget -R &

Cliget

Istnieje dodatek do Firefoksa o nazwie cliget. Aby dodać to do przeglądarki Firefox:

  1. Odwiedź https://addons.mozilla.org/en-US/firefox/addon/cliget/ i kliknij dodaj do przeglądarki Firefox przycisk.

  2. Kliknij zainstalować gdy się pojawi, a następnie uruchom ponownie przeglądarkę Firefox.

  3. Aby użyć Cliget, odwiedź stronę lub plik, który chcesz pobrać i kliknij prawym przyciskiem myszy. Pojawi się menu kontekstowe zwane cliget i dostępne są opcje kopiuj do wget i skopiuj do curl.

  4. Kliknij skopiuj do wget opcję, otwórz okno terminala, a następnie kliknij prawym przyciskiem myszy i wybierz makaron. Odpowiednie polecenie wget jest wklejane do okna.

Dzięki temu nie musisz samodzielnie wpisywać polecenia.

Podsumowanie

Polecenie wget ma wiele opcji i przełączników. Aby przeczytać stronę podręcznika dla wget, wpisz w oknie terminala:

człowiek wget

#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}

var gt_not_translated_list = ["wget www.ever","wget -r www.ever","wget -r -l10 www.ever","wget -r -l inf www.ever","wget -r -k www.ever","wget -m www.ever","wget -b www.ever","wget -b -m www.ever","wget -bm www.ever","wget -q www.ever","wget -i /","wget -B http://www.myfileserver.com -i /","wget -t 10 -i /","wget -t 10 -T 10 -i /","wget -c www.myfileser","wget -w 60 -i /","wget --random-wait -i /","wget -q 100m -i /","Cliget"];
document.cookie = "googtrans=/auto/pl; domain=.balogs.xyz";
document.cookie = "googtrans=/auto/pl";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'auto',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}

Dodaj komentarz