Как указать местоположение с помощью wget?

Мне нужны файлы для загрузки в /tmp/cron _test/. Мой код wget

wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/

Итак, есть ли какой-то параметр для указания каталога?

Ответ 1

Со страницы руководства:

-P prefix
--directory-prefix=prefix
           Set directory prefix to prefix.  The directory prefix is the
           directory where all other files and sub-directories will be
           saved to, i.e. the top of the retrieval tree.  The default
           is . (the current directory).

Так что вам нужно добавить -P /tmp/cron_test/ (краткая форма) или --directory-prefix=/tmp/cron_test/ (длинная форма) к вашей команде. Также обратите внимание, что если каталог не существует, он будет создан.

Ответ 2

-O - это возможность указать путь к файлу, который вы хотите загрузить.

wget <file.ext> -O /path/to/folder/file.ext

-P является префиксом, где он будет загружать файл в каталог

wget <file.ext> -P /path/to/folder

Ответ 3

Убедитесь, что у вас правильный URL-адрес для всего, что вы загружаете. Прежде всего, URL-адреса с такими символами, как ? и т.д., Не могут быть проанализированы и разрешены. Это запутает строку cmd и примет любые символы, которые не разрешены в исходном URL-адресе, в качестве имени файла, в который вы загружаете.

Например:

wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"

загрузит в файл с именем ?source=typ_redirect.

Как видите, знание кое-чего об URL помогает понять wget.

Я загружаюсь с диска hirens, и в качестве ресурса использовалась только Linux 2.6.1 (import os недоступен). Правильный синтаксис, который решил мою проблему с загрузкой ISO на физический жесткий диск, был следующим:

wget "(source url)" -O (directory where HD was mounted)/isofile.iso" 

Можно определить правильный URL-адрес, найдя, в какой момент wget загружает в файл с именем index.html (файл по умолчанию), и имеет правильный размер/другие атрибуты файла, который вам нужен, показанный следующей командой:

wget "(source url)"

Как только этот URL и исходный файл верны и они загружаются в index.html, вы можете остановить загрузку (ctrl + z) и изменить выходной файл, используя:

-O "<specified download directory>/filename.extension"

после ссылки на источник.

В моем случае это приводит к загрузке ISO и сохранению его в виде двоичного файла в isofile.iso, который, как мы надеемся, монтируется.

Ответ 4

человек wget:  Файл -O      - -O utput-документ = файл

wget "url" -O /tmp/cron_test/<file>

Ответ 5

"-P" - правильный вариант, пожалуйста, прочтите дополнительную информацию:

wget -nd -np -P/dest/dir --recursive http://url/dir1/dir2

Соответствующие фрагменты из справочных страниц для удобства:

   -P prefix
   --directory-prefix=prefix
       Set directory prefix to prefix.  The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree.  The default is . (the current directory).

   -nd
   --no-directories
       Do not create a hierarchy of directories when retrieving recursively.  With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the
       filenames will get extensions .n).


   -np
   --no-parent
       Do not ever ascend to the parent directory when retrieving recursively.  This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.

Ответ 6

попробуйте этот метод -

import os
path = raw_input("enter the url:")
fold = raw_input("enter the folder:")
os.system('wget -r -nd -l1 -P %s --no-parent -A mp3 %s'%(fold, path))