Как получить файлы по типу mime с помощью wget

342
Lance Pollard

Некоторые URL-адреса такие:

/foo/bar 

В этом у них нет такого расширения:

/foo/bar.txt 

Если есть расширение, это легко:

wget -r -A .txt http://asdf.com 

Но если нет, то я не уверен, как получить файлы. По сути, есть такие файлы, как PDF-файлы или другие файлы, которые находятся по пути, например, /0du8qj8quqjc9без расширения или, может быть, даже /download.php?pdf=124u0cje8u. Вопрос в том, как загрузить эти файлы, только если они соответствуют MIME-типу . Так например что-то вроде:

wget -r --accept-mime text/plain,application/pdf http://asdf.com 

Хотите знать, если есть что-нибудь сделать, как это.

0

1 ответ на вопрос

1
Tim Ruehsen rockdaboot

Wget2 уже имеет эту функцию :-)

--filter-mime-type Specify a list of mime types to be saved or ignored`  ### `--filter-mime-type=list`  Specify a comma-separated list of MIME types that will be downloaded. Elements of list may contain wildcards. If a MIME type starts with the character '!' it won't be downloaded, this is useful when trying to download something with exceptions. For example, download everything except images:  wget2 -r https://<site>/<document> --filter-mime-type=*,\!image/*  It is also useful to download files that are compatible with an application of your system. For instance, download every file that is compatible with LibreOffice Writer from a website using the recursive mode:  wget2 -r https://<site>/<document> --filter-mime-type=$(sed -r '/^MimeType=/!d;s/^MimeType=//;s/;/,/g' /usr/share/applications/libreoffice-writer.desktop) 

Wget2 не был выпущен на сегодняшний день, но скоро будет. В нестабильной Debian уже есть альфа-версия.

Посмотрите https://gitlab.com/gnuwget/wget2 для получения дополнительной информации. Вы можете отправлять вопросы / комментарии непосредственно на bug-wget@gnu.org.