Pobierz całą witrynę za pomocą wget, nawet jeśli istnieją ograniczenia

Co to jest wget?

Nie ma nic lepszego niż Wikipedia aby wyjaśnić, z czego składa się to narzędzie:

GNU Wget to bezpłatne narzędzie programowe, które w prosty sposób umożliwia pobieranie treści z serwerów internetowych. Jego nazwa pochodzi od World Wide Web (w), a od „get” (w języku angielskim get), co oznacza: pobierz z WWW.

Obecnie obsługuje pobieranie przy użyciu protokołów HTTP, HTTPS i FTP.

Jedną z najbardziej wyjątkowych funkcji, jakie oferuje wget istnieje możliwość łatwego pobierania złożonych serwerów lustrzanych rekurencyjnie, konwersja linków do lokalnego wyświetlania treści HTML, obsługa serwerów proxy ...

De wget Wystarczająco już rozmawialiśmy tutaj o godz DesdeLinux. w rzeczywistości ya Widzieliśmy, jak pobrać kompletną stronę internetową za pomocą wget, problem polega na tym, że obecnie administratorzy nie zawsze pozwalają nikomu pobrać całą swoją witrynę po prostu w ten sposób, nie jest to coś, co naprawdę lubią ... i oczywiście rozumiem. Witryna jest dostępna w Internecie, aby się z nią zapoznać, czytelnik uzyskuje dostęp do interesujących ją treści, a administrator witryny czerpie dobre korzyści finansowe (poprzez reklamy), takie jak odwiedziny itp. Jeśli czytelnik pobierze witrynę na swój komputer, nie będzie musiał przechodzić do trybu online, aby zapoznać się z poprzednim postem.

Aby pobrać witrynę za pomocą wget, jest tak proste, jak:

wget -r -k http://www.sitio.com

  • -r : Oznacza to, że zostanie pobrana cała witryna.
  • -k : Oznacza to, że linki do pobranej witryny zostaną przekonwertowane, aby można było je zobaczyć na komputerach bez internetu.

Teraz sytuacja się komplikuje, gdy administrator witryny nam to utrudnia ...

Jakie ograniczenia mogą obowiązywać?

Najczęstszym stwierdzeniem jest to, że dostęp do witryny jest dozwolony tylko wtedy, gdy masz uznanego agenta użytkownika. Innymi słowy, witryna rozpozna, że ​​UserAgent, który pobiera tak wiele stron, nie należy do „normalnych” i dlatego zablokuje dostęp.

Również w pliku robots.txt możesz określić, że wget (jak kilka innych podobnych aplikacji) Nie będzie można pobierać zgodnie z życzeniem klienta, no cóż, administrator witryny tego chce, kropka 😀

Jak obejść te ograniczenia?

W pierwszym przypadku ustalimy UserAgent do wget, możemy to zrobić za pomocą opcji -Agent użytkownika, tutaj pokażę ci, jak:

wget --user-agent = "Mozilla / 5.0 (X11; Linux amd64; rv: 32.0b4) Gecko / 20140804164216 ArchLinux KDE Firefox / 32.0b4" -r http://www.site.com -k

Teraz, aby obejść plik robots.txt, po prostu wyklucz ten plik, czyli pozwól wget pobrać witrynę i nie przejmuj się tym, co mówi plik robots.txt:

wget --user-agent = "Mozilla / 5.0 (X11; Linux amd64; rv: 32.0b4) Gecko / 20140804164216 ArchLinux KDE Firefox / 32.0b4" -r http://www.site.com -k -e robots = off

Teraz ... są inne opcje lub parametry, które możemy wykorzystać do dalszego oszukania strony, np. Wskazać, że wchodzimy na stronę z Google, tutaj ostatnią linijkę zostawiam ze wszystkim:

wget --header = "Akceptuj: text / html" --user-agent = "Mozilla / 5.0 (X11; Linux amd64; rv: 32.0b4) Gecko / 20140804164216 ArchLinux KDE Firefox / 32.0b4" --referer = http: / /www.google.com -r http://www.site.com -e robots = off -k

Nie jest obowiązkowe, aby strona zawierała http: // www na początku, może to być bezpośrednio http: // jak na przykład ta Geometria Dash

Czy można to zrobić?

To zależy ... zawsze musisz patrzeć na to z obu punktów widzenia, od administratora strony, ale także od czytelnika.

Z jednej strony jako administrator nie chciałbym, aby w ten sposób pobierali kopię HTML mojej witryny, jest ona tutaj online, a nie dla przyjemności, dla przyjemności wszystkich ... naszym celem jest udostępnienie Ci interesujących treści, których możesz się nauczyć.

Ale z drugiej strony ... są użytkownicy, którzy nie mają internetu w domu, którzy chcieliby mieć całą sekcję Poradników, którą tu umieściliśmy ... stawiam się na ich miejscu (właściwie jestem, bo w domu nie mam internetu) i nie jest przyjemnie być przy komputerze, mieć problem lub chcieć coś zrobić, a nie może, bo nie masz dostępu do sieci sieci.

To, czy jest to dobre, czy złe, zależy od każdego administratora, rzeczywistości każdego z nich ... najbardziej martwi mnie zużycie zasobów, które wget powoduje na serwerze, ale z dobrym systemem pamięci podręcznej serwer nie cierpi.

Internet

Wnioski

Proszę, aby nie rozpoczynać pobierania teraz. DesdeLinux HAHAHA!! Na przykład moja dziewczyna poprosiła mnie o pobranie niektórych kodów Geometry Dash (coś w rodzaju kodów Geometry Dash), nie pobiorę całej witryny, ale po prostu otworzę żądaną stronę i zapiszę ją w formacie PDF lub HTML lub czymś takim, to jest co bym Ci polecił.

Jeśli masz jakiś tutorial DesdeLinux który chcesz zapisać, zapisz go w swoich zakładkach, jako HTML lub PDF... ale w przypadku jednego lub dwóch tutoriali nie jest konieczne generowanie nadmiernego ruchu i zużycia na serwerze 😉

No nic, mam nadzieję, że się przyda ... Pozdrowienia


23 komentarzy, zostaw swoje

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.   Eliotime3000 powiedział

    Ciekawa wskazówka. Nie wiedziałem, że możesz to zrobić.

  2.   Emmanuel powiedział

    Jest to wyraźnie to, co przydarzyło mi się dwukrotnie iz pewnością z tego powodu. Chociaż ze względu na szybkość (dom vs uniwersytet) chciałem uzyskać dostęp do treści w ten sposób. 😛
    Dzięki za radę. Pozdrowienia.

  3.   Gerardo powiedział

    Świetne dla tych z nas, którzy nie mają internetu. Z pewnością dobre tutoriale.

  4.   Quinotto powiedział

    Bardzo ciekawy artykuł.
    Pytanie: jak to zrobić w przypadku witryn https?
    Gdzie wymagane jest uwierzytelnianie za pomocą nazwy użytkownika i hasła, a także duża część witryny jest napisana w języku java?
    Pozdrowienia i podziękowania

  5.   Gelibas powiedział

    i gdzie są zapisywane pobrane pliki?

    1.    Gelibas powiedział

      Odpowiadam sobie: w folderze osobistym. Ale teraz pytanie brzmi ... czy możesz mu w jakiś sposób powiedzieć, skąd pobrać zawartość?

      graciass

      1.    Daniel powiedział

        Domyślam się, że najpierw uzyskujesz dostęp do folderu, w którym chcesz go zapisać, a następnie uruchamiasz wget

  6.   Cristian powiedział

    zapytanie ... i będzie coś takiego do "klonowania" bazy danych

  7.   xphnx powiedział

    Ciekaw jestem, czy otrzymujesz pieniądze za umieszczenie tych linków do stron mikro-niszowych?

  8.   Rupert powiedział

    Błogosławiony wget… w ten sposób ściągnąłem dużo porno w moich czasach świni xD

  9.   księżycowy powiedział

    dobra wskazówka. dzięki

  10.   NULL powiedział

    Bardzo dobrze, podobał mi się fragment o omijaniu ograniczeń.

  11.   Franz powiedział

    Dzięki za ten klejnot:
    wget –header = »Akceptuj: text / html» –user-agent = »Mozilla / 5.0 (X11; Linux i686; rv: 31) Gecko / 20100101 Firefox / 31 ″ –referer = http: //www.google.com - r https://launchpad.net/~linux-libre/+archive/ubuntu/rt-ppa/+files/linux-image-3.6.11-gnu-3-generic_3.6.11-gnu-3.rt25.precise1_i386.deb -k -e robots = off

    wget –header = »Akceptuj: text / html» –user-agent = »Mozilla / 5.0 (X11; Linux i686; rv: 31) Gecko / 20100101 Firefox / 31 ″ –referer = http: //www.google.com - r https://launchpad.net/~linux-libre/+archive/ubuntu/rt-ppa/+files/linux-headers-3.6.11-gnu-3_3.6.11-gnu-3.rt25.precise1_all.deb -k -e robots = off

    wget –header = »Akceptuj: text / html» –user-agent = »Mozilla / 5.0 (X11; Linux i686; rv: 31) Gecko / 20100101 Firefox / 31 ″ –referer = http: //www.google.com - r https://launchpad.net/~linux-libre/+archive/ubuntu/rt-ppa/+files/linux-headers-3.6.11-gnu-3-generic_3.6.11-gnu-3.rt25.precise1_i386.deb -k -e robots = off

  12.   Palomares powiedział

    Bardzo interesujące.

  13.   Oscar meza powiedział

    wget jest jednym z tych niezwykle potężnych narzędzi, dzięki niewielkiemu programowaniu terminali możesz stworzyć własnego robota w stylu google, aby rozpocząć pobieranie zawartości stron i przechowywać ją we własnej bazie danych, a później robić z tymi danymi, co zechcesz.

  14.   Carlos G. powiedział

    Uważam, że to narzędzie jest bardzo interesujące, nigdy nie zwracałem uwagi na jego parametry, chciałbym wiedzieć, czy możliwe jest pobranie treści ze strony «X», do której musisz być zalogowany, aby wejść i czy gdzieś jest czy na tej stronie „X” jest jakiś film, czy mógłbym go również pobrać, nawet gdyby należał do innego CDN niż witryna „X”?

    Gdyby to było możliwe, w jaki sposób strona chroni się przed takim narzędziem?

    Pozdrowienia!

  15.   Ericka Zanardiego powiedział

    Dobranoc:

    Piszę do Ciebie na konsultację. Ostatnim poleceniem tego artykułu pobrałem ze strony prawie 300 MB informacji .. plików .swf, .js, .html http://www.netacad.com/es z moim użytkownikiem z małego kursu, który zrobiłem w Maracay w Wenezueli.

    Moje pytanie brzmi… Czy będzie można zobaczyć animacje flashowe?

    Wchodzę w „Global Configuration” i opcje, które tam nie są, nie pozwalają mi na konfigurację.

    Doceniam każdą odpowiedź.

    Dzięki z góry!

    1.    ADX powiedział

      Mam te same szczegóły, pliki .swf są pobierane w połowie, jeśli uda ci się to pominąć, udostępnij mi informacje. Ostatnią próbą było użycie pająka, aby uzyskać wszystkie linki do netacad, ale nadal plik .swf nie kończy się pobierać tak, jak powinien

  16.   alexander.hernandez powiedział

    bardzo dobre !!! dzięki.

  17.   Ana powiedział

    Cześć, dzięki za twojego tuto. Próbuję pobrać bloga, na który jestem zaproszony, z hasłem, aby móc go czytać z domu bez połączenia. Używam tego programu i oczywiście mam hasło do bloga (wordpress), ale nie wiem jak dalej. Czy mógłbyś mi pokazać?
    Z góry dzięki i pozdrawiam!

  18.   Fran powiedział

    co za wspaniały post !!!

  19.   Santiago powiedział

    wspaniale, bardzo mi służyło

  20.   Fran powiedział

    Jestem zalogowany na stronie internetowej z osadzonymi filmami vimeo i nie ma możliwości ich pobrania. Wygląda na to, że vimeo ma je chronione. Jakieś pomysły??