V dalším článku se podíváme na Wget. Je třeba říci, že GNU Wget je bezplatný nástroj který umožňuje stahování obsahu z webových serverů jednoduchým a rychlým způsobem. Jeho název je odvozen od World Wide Web (w) a slovo get (v angličtině získat). Toto jméno znamená: získat z WWW.
Dnes existují desítky aplikací pro velmi efektivní stahování souborů. Většina z nich je založena na webových a desktopových rozhraních a je vyvinuta pro všechny operační systémy. Nicméně na Gnu / Linux (existuje také verze pro Windows) existuje výkonný správce stahování souborů wget. Je považován za nejsilnější stahovač, jaký existuje. Podporuje protokoly jako http, https a ftp.
Stahujte soubory pomocí wget
Stáhněte si soubor
Nejjednodušší způsob použití tohoto nástroje je stahování označující soubor Co chceme:
wget http://sitioweb.com/programa.tar.gz
Stahujte pomocí různých protokolů
Jako dobrý správce stahování je to možné požadovat více než jedno stahování současně. Můžeme dokonce použít různé protokoly ve stejném pořadí:
wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg
Stáhnout podle rozšíření
Další způsob, jak stáhnout více soubory, které používají stejnou příponu, bude používat zástupný znak hvězdička:
wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf
Tento příkaz nefunguje vždy, protože některé servery mohly blokovat přístup wget.
Stáhněte si výpis souborů
Pokud chceme stáhnout soubory, které nacházíme, budeme muset pouze uložit jejich soubory URL v souboru. Vytvoříme seznam s názvem soubory.txt a příkazu označíme název seznamu. Nezbytné umístit pouze jednu adresu URL na řádek uvnitř souborů.txt.
Příkaz, který použijeme ke stažení vytvořeného seznamu a který uložíme do souborů TXT, bude následující:
wget -i archivos.txt
Restartujte stahování
Pokud bude stahování z jakéhokoli důvodu přerušeno, budeme moci pokračujte ve stahování tam, kde to skončilo pomocí možnost c pomocí příkazu wget:
wget -i -c archivos.txt
Přidejte protokol o stahování
Pokud chceme získat protokol o stahování, aby se kontrolovat každý incident na to budeme muset přidat -o možnost jak je znázorněno v následujícím:
wget -o reporte.txt http://ejemplo.com/programa.tar.gz
Omezte šířku pásma stahování
Ve velmi dlouhých stahováních můžeme omezit šířku pásma stahování. Tím zabráníme tomu, aby stahování po celou dobu stahování využívalo veškerou šířku pásma:
wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso
Stahujte pomocí uživatelského jména a hesla
Pokud chceme stahovat ze stránek, kde je vyžadováno uživatelské jméno / heslo, budeme muset použít pouze tyto možnosti:
wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3
Pokusy o stažení
Výchozí, tento program provede 20 pokusů o navázání připojení a spusťte stahování, na velmi nasycených stránkách je možné, že ani při 20 pokusech nebylo dosaženo. S možnost t zvyšuje na více pokusů.
wget -t 50 http://ejemplo.com/pelicula.mpg
Stáhněte si web s wget
Wget se neomezuje pouze na stahování souborůBudeme si moci stáhnout celou stránku. Budeme muset napsat něco jako:
wget www.ejemplo.com
Stáhněte si web a jeho další prvky
S možnost str stáhneme také všechny soubory na stránce jsou potřeba další prvky jako jsou šablony stylů, vložené obrázky atd.
Pokud přidáme možnost r se stáhne rekurzivně až na 5 úrovní z webu:
wget -r www.ejemplo.com -o reporte.log
Převádějte odkazy na místní obyvatele
Ve výchozím nastavení odkazy na webu směřují na adresu celé domény. Pokud web stáhneme rekurzivně a poté jej studujeme offline, můžeme použít možnost převést odkazy to z nich udělá místní odkazy:
wget --convert-links -r http://www.sitio.com/
Získejte úplnou kopii webu
Budeme mít možnost získat úplnou kopii webu. The –Zrcadlová volba je stejné jako použití volby -r -l inf -N což označuje rekurzi na nekonečné úrovni a získání původního časového razítka každého staženého souboru.
wget --mirror http://www.sitio.com/
Transformace rozšíření
Pokud stáhnete celý web, abyste jej mohli zobrazit offline, několik stažených souborů se nemusí otevřít kvůli příponám jako .cgi, .asp nebo .php. Pak je možné označit pomocí –Html možnost rozšíření Všechny soubory jsou převedeny na příponu .html.
wget --mirror --convert-links --html-extension http://www.ejemplo.com
Jedná se pouze o obecné pokyny než s Wgetem. Kdo chce, může se poradit s online manuál konzultovat všechny možnosti, které nám tento skvělý správce stahování nabízí.
Pokud jde o možnost „Stáhnout pomocí rozšíření“, přestal jsem číst. Nemůžete si stáhnout, co nevíte. Pokud požadovaný adresář neumožňuje výpis souborů a postrádá rejstřík (a musí se vyskytovat současně), nelze říci, co říkáte. Jaká úroveň.
Ahoj Rubén, nevědomost je trochu odvážná.
To, co komentujete, lze provést jednoduchým příkazem do google:
filetype:pdf web:ubunlog.com
V tomto příkladu není v tomto blogu žádný soubor pdf, ale změňte doménu na konci na web, který upřednostňujete, a uvidíte, jak snadné je zobrazit všechny soubory jednoho typu webu.
Hezký den.
Ale wget se nepřipojuje k google, aby našel soubory pdf v url. Webový adresář musí být otevřený a musí existovat indexová stránka generovaná mod_autoindex nebo podobně, jak říká Rubén Cardenal.
"Tento příkaz nefunguje vždy, protože některé servery mohly blokovat přístup k wget."
Tento pozměňovací návrh, který byl vložen do tohoto článku, protože s ním nesouhlasím (i když technicky je možné zablokovat určité webové agenty pro požadavky záhlaví http a vrátit 403 „nepovolenou“ zprávu) a vysvětlím proč:
Všechny webové servery Apache (a mluvím o značném procentu serverů) ve výchozím nastavení umožňují globování (vynikající článek na Wikipedii, přečtěte si: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .
To v praxi znamená, jak uvádí pan. Rubén (a má pravdu), POKUD NEJSOU ŽÁDNÝ SOUBOR VOLÁN "index.php" nebo "index.html" (nebo dokonce jednoduše nazvaný "index"), server tiše vrátí seznam souborů a adresářů (samozřejmě ve formě html stránky s informacemi jako webový odkaz pro každý soubor). VĚTšina WEBOVÝCH SERVERŮ TUTO FUNKCI ZABEZPEČÍ PROSTŘEDNICTVÍM SOUBORU .htacces (přesně řečeno Apache2) Z BEZPEČNOSTNÍCH DŮVODŮ.
Zde je všestrannost wget (viz jeho příběh, opět na Wikipedii, ten, který znáte nejvíce: https://es.wikipedia.org/wiki/GNU_Wget ) analyzovat nebo „analyzovat“ uvedené informace a extrahovat pouze rozšíření, která požadujeme.
Nyní, pokud to z nějakého důvodu nefunguje, můžeme zkusit další pokročilé funkce wget, cituji přímo v angličtině:
Chcete stáhnout všechny soubory GIF z adresáře na serveru HTTP. Zkusil jsi to http://www.example.com/dir/*.gif’, ale to nefungovalo, protože načítání HTTP nepodporuje GLOBBING (vložil jsem velká písmena). V takovém případě použijte:
wget -r -l1 –no -parent -A.gif http://www.example.com/dir/
Podrobnější, ale účinek je stejný. „-r -l1“ znamená rekurzivní načítání (viz Rekurzivní stahování) s maximální hloubkou 1. „–no-parent“ znamená, že jsou odkazy na nadřazený adresář ignorovány (viz Limity založené na adresáři), a „-A. gif znamená stahování pouze souborů GIF. „-A« * .gif »“ by také fungovalo.
POKUD BĚŽETE TENTO POSLEDNÍM způsobem, wget pro nás vytvoří složku s požadovanou webovou adresou ve výchozí složce, kde pracujeme, a v případě potřeby vytvoří podadresáře a tam umístí například obrázky .gif, které jsme žádost.
--------
Pokud však stále není možné získat pouze určité druhy souborů (například * .jpg), budeme muset použít parametr «–page-requisites», který stáhne všechny vnitřní prvky html stránky (obrázky, zvuky, css atd.) společně se samotnou html stránkou („–page-requisites“ lze zkrátit „-p“) a to by bylo ekvivalentem stahování něčeho jako „mhtml“ https://tools.ietf.org/html/rfc2557
Doufám, že tyto informace jsou pro vás užitečné.
Díky za poznámky. Salu2.
Myslím, že máte chybu, první dva řádky mají stejný příkaz.
Děkuji moc, velmi dobrý návod!