Category: Tech articles

  • WGET. Лучшие практики использования

    \"wget\"

    Загрузка всех URL, указанных в файле FILE:

    $ wget -i FILE

    Скачивание файла в указанный каталог (-P):

    $ wget -P /path/for/save ftp://ftp.example.org/some_file.iso

    Использование имя пользователя и пароля на FTP/HTTP:

    $ wget ftp://login:password@ftp.example.org/some_file.iso
    $ wget --user=login --password=password ftp://ftp.example.org/some_file.iso

    Скачивание в фоновом режиме (-b):

    $ wget -b ftp://ftp.example.org/some_file.iso

    Продолжить (-c continue) загрузку ранее не полностью загруженного файла:

    $ wget -c http://example.org/file.iso

    Скачать страницу с глубиной следования 10, записывая протокол в файл log:

    $ wget -r -l 10 http://example.org/ -o log

    Скачать содержимое каталога http://example.org/~luzer/my-archive/ и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:

    $ wget -r --no-parent http://example.org/~luzer/my-archive/

    Для того, чтобы во всех скачанных страницах ссылки преобразовывались в относительные для локального просмотра, необходимо использовать ключ -k:

    $ wget -r -l 10 -k http://example.org/

    Также поддерживается идентификация на сервере:

    $ wget --save-cookies cookies.txt \\
      --post-data \'user=foo&password=bar\' \\
      http://example.org/auth.php

    Скопировать весь сайт целиком:

    $ wget -r -l 0 -k http://example.org/

    Скачивание галереи картинок с превьюшками.

    $ wget -r -k -p -l1 -I /images/ -I /thumb/ \\
      --execute robots=off www.example.com/gallery.html

    Сохранить веб страницу (как она открывается локально) в текущую директорию

    $ (cd cli && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)

    Продолжить скачивание частично скаченного файла

    $ wget -c http://www.example.com/large.file

    Скачать множество файлов в текущую директорию

    $ wget -r -nd -np -l1 -A \'*.jpg\' http://www.example.com/

    Отображать вывод напрямую (на экран)

    $ wget -q -O- http://www.pixelbeat.org/timeline.html | grep \'a href\' | head

    Скачать url в 01:00 в текущую директорию

    $ echo \'wget url\' | at 01:00

    Сделать закачку с уменьшенной скоростью В данном случае 20 КB/s

    $ wget --limit-rate=20k url

    Проверить ссылки в файле

    $ wget -nv --spider --force-html -i bookmarks.html

    Оперативно обновлять локальную копию сайта (удобно использовать с cron)

    $ wget --mirror http://www.example.com/

    Используем wildcard для того чтобы скачать несколько страниц

    $ wget http://site.com/?thread={1..100}
    $ wget http://site.com/files/main.{css,js}

    Запустить скачивание списка ссылок в 5 потоков

    $ cat links.txt | xargs -P 5 wget {}

    Проверить ссылки из файла на живость

    $ cat list.txt
    http://yandex.ru
    http://google.ru
    http://yandex.ru/qweqweqweqwe
    $ wget -nv  --spider -i list.txt
    2013-08-08 22:40:20 URL: http://www.yandex.ru/ 200 Ok
    2013-08-08 22:40:20 URL: http://www.google.ru/ 200 OK
    http://yandex.ru/qweqweqweqwe:
    Удалённый файл не существует — битая ссылка!

    Источники: