Как скачать полный сайт, но игнорируя все двоичные файлы.
wget
имеет эту функцию, используя -r
флаг, но он загружает все, и некоторые веб-сайты слишком много для машины с ограниченными ресурсами, и это не полезно по конкретной причине, я загружаю сайт.
Вот командная строка, которую я использую: wget -P 20 -r -l 0 http://www.omardo.com/blog
(мой собственный блог)
wget
recursive
download
mime-types
Омар Аль-Итави
источник
источник
Ответы:
Вы можете указать список разрешенных соотв. запрещенные шаблоны имени файла:
Разрешается:
Недопустимое:
LIST
разделенный запятыми список шаблонов / расширений имени файла.Вы можете использовать следующие зарезервированные символы для указания шаблонов:
*
?
[
]
Примеры:
-A png
-R css
-R avatar*.png
Если файл не имеет расширения, соответственно имя файла не имеет шаблона, который вы могли бы использовать, я думаю, вам понадобится анализ MIME-типа (см. ответ Lars Kotthoffs ).
источник
Вы можете попробовать заплаты Wget с этим (и здесь ) для фильтра по типу MIME. Этот патч сейчас довольно старый, поэтому он может больше не работать.
источник
Новый Wget (Wget2) уже имеет функцию:
Wget2 не был выпущен на сегодняшний день, но скоро будет. В нестабильной Debian уже есть альфа-версия.
Посмотрите https://gitlab.com/gnuwget/wget2 для получения дополнительной информации. Вы можете отправлять вопросы / комментарии непосредственно на bug-wget@gnu.org.
источник
Я попробовал совершенно другой подход - использовать Scrapy, но у него та же проблема! Вот как я это решил: SO: Python Scrapy - фильтр на основе mimetype, чтобы избежать загрузки нетекстовых файлов?
источник