Скачать рекурсивно с помощью wget

32

У меня проблема со следующей командой wget:

wget -nd -r -l 10 http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Он должен рекурсивно загружать все связанные документы в оригинальной сети, но загружает только два файла ( index.htmlи robots.txt).

Как я могу добиться рекурсивной загрузки этой сети?

xralf
источник

Ответы:

40

wgetпо умолчанию соблюдает стандарт robots.txt для сканирования страниц, как это делают поисковые системы, а для archive.org запрещает весь подкаталог / web /. Чтобы переопределить, используйте -e robots=off,

wget -nd -r -l 10 -e robots=off http://web.archive.org/web/20110726051510/http://feedparser.org/docs/
Ульрих Шварц
источник
Спасибо. Есть ли возможность сохранить каждую ссылку только один раз? Может быть, мне следует уменьшить 10число до меньшего, но это трудно догадаться. Теперь есть файл introduction.html, introduction.html.1, introduction.html.2и я скорее закончился процесс.
xralf
И ссылки направлены в Интернет. Есть ли --mirrorвозможность для ссылок направлять на файловую систему?
xralf
1
@xralf: ну, вы используете -nd, поэтому разные index.htmlфайлы помещаются в один и тот же каталог, и без -kэтого вы не получите переписывания ссылок.
Ульрих Шварц
12
$ wget --random-wait -r -p -e robots=off -U Mozilla \
    http://web.archive.org/web/20110726051510/http://feedparser.org/docs/

Загружает рекурсивно содержимое URL.

--random-wait - wait between 0.5 to 1.5 seconds between requests.
-r - turn on recursive retrieving.
-e robots=off - ignore robots.txt.
-U Mozilla - set the "User-Agent" header to "Mozilla". Though a better choice is a real User-Agent like "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)".

Некоторые другие полезные опции:

--limit-rate=20k - limits download speed to 20kbps.
-o logfile.txt - log the downloads.
-l 0 - remove recursion depth (which is 5 by default).
--wait=1h - be sneaky, download one file every hour.
Никхил Мулли
источник
-l 0 - remove recursion depth (which is 5 by default)+1
Дани