Download een hele site met wget, zelfs als er beperkingen zijn

Wat is wget?

Niets beter dan Wikipedia om uit te leggen waaruit deze tool bestaat:

GNU Wget is een gratis softwaretool waarmee u op een eenvoudige manier inhoud van webservers kunt downloaden. De naam is afgeleid van World Wide Web (w), en van "get" (in het Engels get), dit betekent: haal van het WWW.

Momenteel ondersteunt het downloads met behulp van de HTTP-, HTTPS- en FTP-protocollen.

Een van de meest opvallende kenmerken die het biedt wget er is de mogelijkheid om eenvoudig recursief complexe mirrors te downloaden, koppelingen om te zetten om HTML-inhoud lokaal weer te geven, ondersteuning voor proxy's ...

De wget We hebben hier al genoeg gepraat DesdeLinux. In feite ya We hadden gezien hoe je een complete website kunt downloaden met wget, het probleem is dat beheerders tegenwoordig niet altijd iedereen zomaar hun hele website laten downloaden, het is niet iets dat ze echt leuk vinden ... en ik begrijp het natuurlijk. De site is er op internet om hem te raadplegen, de lezer krijgt toegang tot interessante inhoud en de sitebeheerder profiteert financieel goed (via advertenties), zoals bezoeken, enz. Als de lezer de site op zijn computer downloadt, hoeft hij niet online te gaan om een ​​eerder bericht te raadplegen.

Het downloaden van een site met wget is zo simpel als:

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

  • -r : Dit geeft aan dat de hele website wordt gedownload.
  • -k : Dit geeft aan dat de links van de gedownloade site worden geconverteerd om ze te kunnen zien op computers zonder internet.

Nu wordt de zaak ingewikkeld wanneer de sitebeheerder het ons moeilijk maakt...

Welke beperkingen kunnen er zijn?

De meest voorkomende die we konden vinden, is dat toegang tot de site alleen is toegestaan ​​als je een erkende UserAgent hebt. Met andere woorden, de site zal herkennen dat de UserAgent die zoveel pagina's aan het downloaden zijn, niet een van de "normale" is en zal daarom de toegang sluiten.

Ook via het robots.txt-bestand kunt u specificeren dat wget (zoals een heleboel meer vergelijkbare apps) niet kunnen downloaden zoals de klant wenst, nou... nou, de sitebeheerder wil het zo, punt uit 😀

Hoe deze beperkingen omzeilen?

Voor het eerste geval zullen we een UserAgent opzetten om te wget, dit kunnen we doen met de optie - Gebruiker-agent, hier laat ik je zien hoe:

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

Om de robots.txt te omzeilen, volstaat het om dat bestand uit te sluiten, dat wil zeggen dat wget de site downloadt en het niet uitmaakt wat robots.txt zegt:

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

Nu... er zijn andere opties of parameters die we kunnen gebruiken om de site verder te misleiden, bijvoorbeeld om aan te geven dat we de site zijn binnengekomen via Google, hier laat ik de laatste regel met alles:

wget --header="Accepteren: tekst/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

Het is niet verplicht dat de site http://www aan het begin bevat, het kan direct een http:// zijn, zoals bijvoorbeeld deze Geometry Dash

Is het oké om dit te doen?

Dat hangt ervan af... je moet het altijd van beide kanten bekijken, van de sitebeheerder maar ook van de lezer.

Aan de ene kant zou ik als beheerder niet willen dat ze zomaar een HTML-kopie van mijn site maken, het is hier online, niet voor de lol, voor ieders plezier... ons doel is om interessante inhoud beschikbaar te hebben voor dat ze kunnen leren.

Maar aan de andere kant... er zijn gebruikers die thuis geen internet hebben, die graag de hele Tutorials-sectie willen hebben die we hier hebben geplaatst... Ik plaats mezelf in hun plaats (in feite ben ik, want thuis heb ik geen internet) en het is niet fijn om achter de computer te zitten, een probleem te hebben of iets te willen doen en niet te kunnen omdat je geen toegang hebt tot het netwerk van netwerken.

Of het goed of slecht is, is aan elke beheerder, aan ieders realiteit ... waar ik me het meest zorgen over zou maken, zou het verbruik van bronnen zijn dat de wget veroorzaakt in de server, maar met een goed cachingsysteem zou het genoeg moeten zijn voor de server lijdt er niet onder.

internet

Conclusies

Ik vraag u om nu niet te beginnen met downloaden. DesdeLinux HA HA HA!! Mijn vriendin heeft me bijvoorbeeld gevraagd om enkele Geometry Dash-cheats te downloaden (zoiets als Geometry Dash Cheats). Ik zal niet de hele website downloaden, maar ik zal gewoon de gewenste pagina openen en deze opslaan in PDF of HTML of zoiets, dat is wat ik je zou aanraden.

Als je een tutorial hebt DesdeLinux dat u wilt opslaan, sla het op in uw bladwijzers, als HTML of PDF... maar voor een of twee tutorials is het niet nodig om overmatig verkeer en verbruik op de server te genereren 😉

Nou, niets, ik hoop dat het nuttig is ... Groeten


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   eliotime3000 zei

    Interessante tip. Ik wist niet dat je dat kon doen.

  2.   Emmanuel zei

    Het is uitdrukkelijk wat mij twee keer is overkomen, en het was er zeker door. Hoewel het om snelheidsredenen (thuis versus universiteit) was dat ik op die manier toegang wilde krijgen tot inhoud. 😛
    Bedankt voor het advies. Vriendelijke groeten.

  3.   Gerardo zei

    Geweldig voor degenen onder ons die geen internet hebben. Zeker goede tutorials.

  4.   Quinotto zei

    Heel interessant artikel.
    Vraag: hoe kan het worden gedaan voor https-sites?
    Waar is authenticatie vereist door middel van gebruikersnaam en wachtwoord en ook is een groot deel van de site in Java geschreven?
    Groeten en bedankt

  5.   Gelibassium zei

    en waar worden de downloads opgeslagen?

    1.    Gelibassium zei

      Ik antwoord mezelf: in de persoonlijke map. Maar nu is de vraag ... kun je hem op de een of andere manier vertellen waar hij de inhoud moet downloaden?

      graciass

      1.    Daniel zei

        Ik neem aan dat je eerst de map opent waarin je het wilt opslaan en dan wget uitvoert

  6.   cristian zei

    query ... en er zal zoiets zijn om een ​​database te "klonen"

  7.   xphnx zei

    Ik ben nieuwsgierig, ontvang je geld voor het plaatsen van die links naar micro-nicheswebben?

  8.   Rupert zei

    Zalige wget ... zo heb ik veel porno gedownload in mijn varkentijden xD

  9.   maanachtig zei

    goed advies. bedankt

  10.   NULL zei

    Heel goed, ik vond het deel over het omzeilen van de beperkingen leuk.

  11.   Franz zei

    Bedankt voor dat juweeltje:
    wget –header = »Accepteer: 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 = uit

    wget –header = »Accepteer: 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 = uit

    wget –header = »Accepteer: 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 = uit

  12.   Palomares zei

    Zeer interessant.

  13.   oscar meza zei

    wget is een van die ultrakrachtige tools, met een beetje terminalprogrammering kun je je eigen Google-achtige robot maken om de inhoud van de pagina's te downloaden en op te slaan in je eigen database en later te doen wat je wilt met die gegevens.

  14.   Karel G. zei

    Ik vind deze tool erg interessant, ik had nooit aandacht besteed aan de parameters ervan, ik zou graag willen weten of je inhoud kunt downloaden van een «X» -pagina waarop je moet zijn ingelogd, en of het ergens op deze site staat « X "is er een video, zou ik die dan ook downloaden, zelfs als deze bij een ander CDN hoort dan de" X "-site?

    Als dit mogelijk was, hoe beschermt een site dan tegen een dergelijke tool?

    Groeten!

  15.   Erik Zanardi zei

    Welterusten:

    Ik schrijf je voor een consult. Ik heb met de laatste opdracht van dit artikel bijna 300 MB aan informatie gedownload... .swf-, .js-, .html-bestanden, van de pagina http://www.netacad.com/es met mijn gebruiker van een kleine cursus die ik deed in Maracay, Venezuela.

    Mijn vraag is ... Zal het mogelijk zijn om de flash-animaties te zien?

    Ik voer "Globale configuratie" in en de opties die het toont, staan ​​me niet toe om te configureren.

    Ik waardeer elke reactie.

    Dank bij voorbaat!

    1.    ADX zei

      Ik heb hetzelfde detail, de .swf wordt halverwege gedownload, als het je lukt om het over te slaan, deel me dan info Wat ik de vorige keer deed, was om een ​​spider te gebruiken om alle netacad-links te krijgen, maar de .swf wordt nog steeds niet gedownload zoals het hoort

  16.   alexander.hernandez zei

    zeer goed !!! bedankt.

  17.   ana zei

    Hallo, bedankt voor je tutorial. Ik probeer een blog te downloaden waarvoor ik ben uitgenodigd, met een wachtwoord, zodat ik het thuis offline kan lezen. Ik gebruik dit programma en ik heb natuurlijk het wachtwoord van de blog (wordpress), maar ik weet niet hoe ik verder moet. Zou je me kunnen laten zien?
    Alvast bedankt en vriendelijke groeten!

  18.   Fran zei

    wat een geweldige post !!!

  19.   Santiago zei

    uitstekend, het heeft me veel gediend

  20.   Fran zei

    Ik ben ingelogd op een website met ingebouwde Vimeo-video's en er is geen manier om ze te downloaden .. het lijkt alsof Vimeo ze heeft beschermd. Om het even welke ideeën ??