Wget, kilka przykładów tego, co można zrobić za pomocą tego narzędzia

O wget

W następnym artykule przyjrzymy się Wgetowi. Trzeba powiedzieć, że GNU Wget to plik darmowe narzędzie który umożliwia pobieranie treści z serwerów internetowych w prosty i szybki sposób. Jego nazwa pochodzi od World Wide Web (w) i słowo get (w języku angielskim otrzymać). Ta nazwa oznacza: pobrać z WWW.

Obecnie istnieją dziesiątki aplikacji do bardzo wydajnego pobierania plików. Większość z nich jest oparta na interfejsach WWW i komputerowych i jest tworzona dla wszystkich systemów operacyjnych. Jednak w Gnu / Linux (istnieje również wersja dla systemu Windows) jest plik potężny menedżer pobierania plików wget. Jest uważany za najpotężniejszy istniejący program do pobierania. Obsługuje protokoły, takie jak http, https i ftp.

Pobierz pliki za pomocą wget

Pobierz plik

Najprostszym sposobem użycia tego narzędzia jest pobranie wskazując plik Czego chcemy:

wget http://sitioweb.com/programa.tar.gz

Pobierz przy użyciu różnych protokołów

Jako dobry menedżer pobierania jest to możliwe żądać więcej niż jednego pobrania naraz. Możemy nawet używać różnych protokołów w tej samej kolejności:

wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg

Pobierz według rozszerzenia

Inny sposób na pobranie wielu plików pliki, które mają to samo rozszerzenie, będzie używać gwiazdki wieloznacznej:

wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf

To polecenie nie zawsze działa, ponieważ niektóre serwery mogą mieć zablokowany dostęp do wget.

Pobierz listę plików

Jeśli chcemy pobrać znalezione przez nas pliki, będziemy musieli tylko je zapisać URL w pliku. Stworzymy listę o nazwie files.txt i wskażemy nazwę listy do polecenia. Czy to jest to konieczne umieść tylko jeden adres URL w każdym wierszu wewnątrz files.txt.

Polecenie, którego użyjemy do pobrania utworzonej listy i zapisania w plikach .txt, będzie wyglądało następująco:

wget -i archivos.txt

Uruchom ponownie pobieranie

Jeśli z jakiegoś powodu pobieranie zostało przerwane, będziemy mogli kontynuować pobieranie od miejsca, w którym zostało przerwane używając opcja c za pomocą polecenia wget:

wget -i -c archivos.txt

Dodaj dziennik dotyczący pobierania

Jeśli chcemy uzyskać log o pobieraniu, aby kontrolować wszelkie incydenty na nim będziemy musieli dodać -o opcja jak pokazano poniżej:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

Ogranicz przepustowość pobierania

W przypadku bardzo długich pobrań możemy ograniczyć przepustowość pobierania. Dzięki temu zapobiegniemy pobieraniu całej przepustowości na czas pobierania:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

Pobierz, podając nazwę użytkownika i hasło

Jeśli będziemy chcieli pobrać z witryny, w której wymagana jest nazwa użytkownika / hasło, będziemy musieli skorzystać tylko z następujących opcji:

wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3

Próby pobierania

Domyślna, program ten podejmuje 20 prób nawiązania połączenia i rozpocząć pobieranie, w bardzo nasyconych witrynach możliwe jest, że nawet przy 20 próbach zostało to osiągnięte. Dzięki opcja t wzrasta do większej liczby prób.

wget -t 50 http://ejemplo.com/pelicula.mpg

Pobierz stronę internetową za pomocą wget

Wget pomoc człowieku

Wget pomoc człowieku

Wget nie ogranicza się tylko do pobierania plikówBędziemy mogli pobrać pełną stronę. Będziemy musieli po prostu napisać coś takiego:

wget www.ejemplo.com

Pobierz stronę internetową i jej dodatkowe elementy

z opcja str pobierzemy również wszystkie pliki dodatkowe elementy potrzebne na stronie takie jak arkusze stylów, obrazy w wierszu itp.

Jeśli dodamy opcja r se będzie rekurencyjnie pobierać do 5 poziomów ze strony:

wget -r www.ejemplo.com -o reporte.log

Konwertuj linki na lokalne

Domyślnie linki w witrynie wskazują adres całej domeny. Jeśli pobierzemy witrynę rekurencyjnie, a następnie przeanalizujemy ją w trybie offline, możemy użyć opcja konwersji linków który zmieni je w linki lokalne:

wget --convert-links -r http://www.sitio.com/

Uzyskaj pełną kopię witryny

Będziemy mieli możliwość uzyskania pełnej kopii strony. Plik - opcja lustra jest taki sam, jak użycie opcje -r -l inf -N co wskazuje na rekurencję na nieskończonym poziomie i uzyskanie oryginalnego znacznika czasu każdego pobranego pliku.

wget --mirror http://www.sitio.com/

Przekształć rozszerzenia

Jeśli pobierzesz całą witrynę do przeglądania w trybie offline, kilka pobranych plików może się nie otworzyć z powodu rozszerzeń, takich jak .cgi, .asp lub .php. Następnie można wskazać za pomocą –Html-opcja rozszerzenia Wszystkie pliki są konwertowane na rozszerzenie .html.

wget --mirror --convert-links --html-extension http://www.ejemplo.com

To są tylko ogólne wskazówki niż możesz zrobić z Wgetem. Kto chce, może skonsultować się z instrukcja online aby zapoznać się ze wszystkimi możliwościami, które oferuje nam ten wspaniały menedżer pobierania.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Ruben Cardenal powiedział

    Jeśli chodzi o „Pobierz według rozszerzenia”, przestałem czytać. Nie możesz pobrać tego, czego nie znasz. O ile żądany katalog nie pozwala na listę plików i nie ma indeksu (i oba muszą wystąpić w tym samym czasie), to, co mówisz, nie może być zrobione. Co za poziom.

    1.    Anonimowy komputer powiedział

      Cześć Rubén, ignorancja jest nieco odważna.
      To, co komentujesz, można zrobić za pomocą prostego polecenia w Google:
      typ pliku:witryna PDF:ubunlog.com
      W tym przykładzie nie ma pliku PDF na tym blogu, ale zmień domenę na końcu na preferowaną przez Ciebie sieć, a zobaczysz, jak łatwo jest zobaczyć wszystkie pliki typu sieci.
      Miłego dnia.

      1.    wybryk powiedział

        Ale wget nie łączy się z Google, aby znaleźć pliki PDF w adresie URL. Katalog sieciowy musi być otwarty i musi istnieć strona indeksu wygenerowana przez mod_autoindex lub podobny, jak mówi Rubén Cardenal.

    2.    Jimmy’ego Olano powiedział

      „To polecenie nie zawsze działa, ponieważ niektóre serwery mogą blokować dostęp do wget”.
      Ta poprawka, która została umieszczona w tym artykule, ponieważ się z nią nie zgadzam (chociaż technicznie jest możliwe zablokowanie niektórych agentów internetowych dla żądań nagłówka http i zwrócenie wiadomości 403 „niedozwolone”) i wyjaśnię dlaczego:

      Wszystkie serwery internetowe Apache (a mówię o znacznym odsetku serwerów) domyślnie zezwalają na globbing (doskonały artykuł w Wikipedii, czytaj: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .

      W praktyce oznacza to, jak określił pan. Rubén (i ma rację), JEŻELI NIE MA PLIKU O nazwie „index.php” lub „index.html” (lub nawet po prostu nazywanego „index”), serwer po cichu zwróci listę plików i katalogów (oczywiście w formie strony html z informacją w postaci łącza internetowego dla każdego pliku). WIĘKSZOŚĆ SERWERÓW INTERNETOWYCH WYŁĄCZA TĘ FUNKCJĘ POPRZEZ PLIK .htacces (ściśle mówiąc Apache2) ZE WZGLĘDÓW BEZPIECZEŃSTWA.

      Oto wszechstronność wget (zobacz jego historię, ponownie na Wikipedii, tę, którą znasz najlepiej: https://es.wikipedia.org/wiki/GNU_Wget ) analizować lub „analizować” takie informacje i wyodrębniać tylko te rozszerzenia, o które prosimy.

      Teraz, jeśli to nie zadziała z jakiegoś powodu, możemy wypróbować inne zaawansowane funkcje wget, cytuję bezpośrednio po angielsku:

      Chcesz pobrać wszystkie pliki GIF z katalogu na serwerze HTTP. Próbowałeś „wget http://www.example.com/dir/*.gif’, ale to nie zadziałało, ponieważ pobieranie HTTP nie obsługuje GLOBBING (umieściłem wielkie litery). W takim przypadku użyj:

      wget -r -l1 –no-rodzic -A.gif http://www.example.com/dir/

      Bardziej szczegółowe, ale efekt jest taki sam. „-r -l1” oznacza pobieranie rekurencyjne (patrz Pobieranie rekurencyjne), z maksymalną głębokością 1. „–no-parent” oznacza, że ​​odniesienia do katalogu nadrzędnego są ignorowane (zobacz Ograniczenia oparte na katalogach), a „-A. gif ”oznacza pobieranie tylko plików GIF. „-A« * .gif »” też by zadziałało.

      JEŚLI URUCHOMISZ TEN OSTATNI SPOSÓB, wget utworzy dla nas folder z żądanym adresem internetowym w domyślnym folderze, w którym pracujemy, iw razie potrzeby utworzy podkatalogi i tam umieści na przykład obrazy .gif, które żądanie.

      --------
      JEDNAK jeśli nadal nie jest możliwe uzyskanie tylko niektórych rodzajów plików (na przykład * .jpg), będziemy musieli użyć parametru «–page-requisites», który pobiera wszystkie wewnętrzne elementy strony html (obrazy, dźwięki, css itp.) razem z samą stroną html („–page-requisites” można skrócić „-p”) i byłoby to odpowiednikiem pobrania czegoś takiego jak „mhtml” https://tools.ietf.org/html/rfc2557

      Mam nadzieję, że te informacje są dla Ciebie przydatne.

      1.    Damiana Amoedo powiedział

        Dzięki za notatki. Salu2.

  2.   Afterbanki powiedział

    Myślę, że masz błąd, pierwsze dwie linie mają to samo polecenie.

  3.   Mike powiedział

    Dziękuję bardzo, bardzo dobry tutorial!