wget - Linux download manager - spis ważniejszych opcji i tricków

man wget - najciekawsze opcje ;)

-q, --quiet
    Tryb cichy. Wyłącza wyjście Wget.
-t liczba, --tries=liczba
    Ustawia liczbę ponawiania prób na liczbę. Dla nieskończonego
    ponawiania: 0
-O plik, --output-document=plik
    Dokumenty będą zapisywane do pojedynczego pliku (jeśli podano parę -
    zostaną sklejone). Jeśli plik istnieje, to zostanie nadpisany.
    Włączenie tej opcji automatycznie ustawia liczbę prób na 1.
-c, --continue
    Kontynuuje pobieranie częściowo ściągniętego pliku. Opcja -c wpływa
    tylko na wznawianie pobrań zaczętych przed bieżącym wywołaniem Wget
    i tylko dla tych plików, których lokalne kopie nadal istnieją.
    Istnieje wiele ograniczeń w stosunku do tej opcji należy jej używać
    z rozwagą.
--limit-rate=wielkość
    Ogranicza prędkości pobierania do wielkość bajtów na sekundę. Na
    przykład --limitrate=20k ograniczy prędkość ściągania do 20KB/s, a
    --limitrate=1m do 1MB/s.
--header=dodatkowy-nagłówek
    Opcja ta pozwala na określenie dodatkowego nagłówka przesyłanego
    serwerom HTTP. Możliwe jest określenie więcej niż jednego
    dodatkowego nagłówka przez kilkakrotne podanie opcji --header.
wget --header='Accept-Charset: utf-8' --header='Accept-Language: pl' http://jakas.strona.pl/
Podanie pustego łańcucha jako nagłówka kasuje wszystkie uprzednio
zdefiniowane przez użytkownika nagłówki.

--referer=url
    Zamieszcza nagłówek ‘Referer: url’ w żądaniu HTTP. Przydatne do
    pobierania dokumentów z dodatkowym filtrowaniem po stronie serwera
    (obejście blokowania leechowania obrazków).
--user-agent=nazwa-agenta
    Wget przedstawia się serwerowi HTTP jako agent o określonej nazwie -
    modyfikowany nagłówek "User-Agent"
-r, --recursive
    Włącza pobieranie rekurencyjne - czyli wraz z podkatalogami,
    odnośnikami.
-l głębokość, --level=głębokość
    Podaje maksymalny poziom głębokości rekurencji. Domyślnie jest to 5.
-p, --page-requisites
    Ta opcja powoduje, że Wget ściągnie wszystkie pliki niezbędne do
    poprawnego wyświetlenia danej strony HTML. Obejmuje to takie rzeczy
    jak grafikę i powiązane arkusze stylów - polecam użycie wraz z opcją
    -k. Należy zauważyć, że Wget pobierze tylko pojedynczą stronę i jej
    elementy. Program nie będzie podążał za odnośnikami z tej strony do
    zewnętrznych dokumentów. Do ściągania pojedynczej strony i
    wszystkich towarzyszących jej elementów (nawet jeśli leżą one na
    odrębnych serwerach WWW) i upewnienia się, że całość lokalnie
    poprawnie się wyświetla, autor oprócz -p powinno korzystać się z
    kilku dodatkowych opcji:
wget -E -H -k -K -p http://jakis.serwer.pl/1.html
-A lista_akc --accept lista_akc
-R lista_odrz --reject lista_odrz
    Jedna z opcji rekurencyjnego akceptowania/odrzucania. Podaje listę
    oddzielonych przecinkami przyrostków nazw plików (rozszerzeń plików)
    lub wzorców nazw, jakie mają być akceptowane lub odrzucane.
-D lista_domen, --domains=lista_domen
    Ustala domeny, do których program może przechodzić. lista_domen
    jest listą separowaną przecinkami. Opcja ta nie włącza -H.
--exclude-domains lista_domen
    Podaje domeny, do których program ma nie przechodzić.
-H, --span-hosts
    Włącza przechodzenie pomiędzy hostami przy pobieraniu rekurencyjnym.
-np, --no-parent
    Powoduje, że Wget przy pobieraniu rekurencyjnym nigdy nie wchodzi do
    katalogu nadrzędnego. Przydatna opcja, gdyż gwarantuje, że ściągane
    będą tylko pliki poniżej pewnego poziomu.

Część z poniższych porad znalazłem, a część sam wymyśliłem ;).

wget ignorowanie pliku robots.txt (ignore robots)

wget -erobots=off http://jakas.strona.pl/

Jak zalogować się do formularza korzystając z wgeta?

wget --post-data="login=user&password=pw" http://jakas.strona.pl/form.php

wget rapidshare hack

A sam też się pobawiłem i odkryłem małego hacka. Jeżeli masz dostęp do konta premium w serwisie rapidshare, a chciałbyś pobierać z tego serwisu pliki tylko w nocy, możesz skorzystać z wgeta i dodatkowego skryptu (skryptu nie należy stosować na publicznych serwerach shellowych):

#!/bin/bash

RS_LOGIN="login_tutaj"
RS_PASS="haslo_tutaj"

# if your version of wget doesn't want to work:
# 1. goto: http://ftp.gnu.org/gnu/wget/
# 2. get 1.10.2
# 3. compile (./configure && make)
# 4. cp src/wget to your file and
# 5. change command to ./wget

for file in `cat src | grep -E '^http:\/\/rapidshare'` ; do
   echo $file
   wget -c --http-user=$RS_LOGIN --http-password=$RS_PASS $file
done

po uzupełnieniu zmiennych RS_LOGIN i RS_PASS i utworzeniu listy adresów w pliku src skrypt automatycznie zacznie ściągać dane.

Co oznaczają te opcje?

--http-user=użytkownik, --http-passwd=hasło
    Określają nazwę użytkownika i hasło, które Wget prześle serwerowi
    HTTP. W zależności od rodzaju protokołu, Wget koduje je stosując
    albo uwierzytelnianie podstawowe ("basic", niechronione) albo w
    oparciu o skrót ("digest"). Żeby uchronić hasła przed podpatrzeniem,
    należy przechowywać je w pliku .wgetrc lub .netrc i, za pomocą
    “chmod", zapewnić tym plikom ochronę przed innymi użytkownikami.

Podsumowanie

Wget to naprawdę program o dużych możliwościach, a dzięki niewielkiemu rozmiarowi jest dostępny w niemal wszystkich możliwych dystrybucjach Linuxa.

Początkujących użytkowników może odstraszyć jego konsolowy interfejs, ale naprawdę warto się z nim zapoznać - bo nie ma lepszego programu do pobierania plików z sieci (przynajmniej ja nie znam).

Comments

comments powered by Disqus