Мне нужно, чтобы файлы были загружены в / tmp / cron_test /. Мой код Wget есть
wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/
Так есть какой-то параметр, чтобы указать каталог?
Со страницы руководства:
-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 /
(длинная форма) в вашу команду. Также обратите внимание, что если каталог не существует, он будет создан.
-O - это опция, указывающая путь к файлу, который вы хотите загрузить.
wget <file.ext> -O /path/to/folder/file.ext
-P - это префикс, где он загрузит файл в каталоге
wget <file.ext> -P /path/to/folder
Убедитесь, что у вас есть правильный 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 в качестве ресурса (импорт недоступен). Правильный синтаксис, который решил мою проблему при загрузке ISO на физический жесткий диск, был:
wget "(source url)" -O (directory where HD was mounted)/isofile.iso"
Можно найти правильный URL-адрес, обнаружив, в какой момент wget
загружается в файл с именем index.html
(файл по умолчанию), и имеет правильные атрибуты размера / другие необходимые атрибуты файла, отображаемые следующей командой: ,
wget "(source url)"
Как только этот URL и исходный файл верны и загружаются в index.html
, вы можете остановить загрузку ( ctrl < / kbd > + z < / kbd >) и изменить выходной файл, используя:
-O "<specified download directory>/filename.extension"
после источника URL.
В моем случае это приводит к загрузке ISO и хранению его в виде двоичного файла в isofile.iso
, который, мы надеемся, монтируется.
«-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.
попробуйте этот метод -
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))