WedX - журнал о программировании и компьютерных науках

Wget, чтобы возобновить загрузку файлов с того места, где она была остановлена

Я новичок в Wget, и мне интересно, есть ли способ возобновить загрузку файлов с того места, где я остановил загрузку? Например: я загружаю кучу файлов с веб-сайта, на котором есть такие файлы: 1.pdf 2.pdf 3.pdf 4.pdf

и по какой-то причине я прекратил загрузку, когда wget скачал 1,2 файла, и я переместил эти загруженные файлы в другое хранилище, к которому я сейчас не могу получить доступ. Итак, могу ли я запустить команду, чтобы исключить первые 2 файла, которые я уже скачал, и начать заново с третьего файла и так далее?

Я уже использую эту команду:

wget -m -np -c -U "MyDir" -R "index.html*" "TheURL"

Извините за мой глупый способ объяснить мою проблему и спасибо за ваши ответы заранее.


Ответы:


1

Вы уже используете опцию -R для отклонения имен файлов с определенным шаблоном (вы говорите -R "index.html*", чтобы отклонить любое имя файла, начинающееся с index.html), поэтому вы можете просто добавить больше имен файлов в этот список отклонения, т. е. использовать -R "index.html*,1.pdf,2.pdf", если вы знаете, что у вас уже есть 1.pdf и 2.pdf сохранены на другом компьютере, и вас не беспокоят файлы в других каталогах с одинаковыми именами. (Я не уверен, что понимаю, почему вы отклоняете index.html*, так как это может привести к тому, что некоторые списки файлов не будут сканироваться.)

В более сложных ситуациях (или если вы просто не хотите писать очень длинный параметр -R), может быть проще создать пустые файлы с помощью touch перед запуском wget, а затем удалить пустые файлы. Это работает, потому что вы используете wget -m, который (по крайней мере, в версиях wget после 2001 или около того) включает -N (проверку временных меток) — пока сервер поддерживает временные метки (большинство поддерживает), wget сообщит серверу, что он хочет файл только если он новее временной метки существующего файла, т. е. "новее, чем только что", если вы только что поместили туда пустой файл. Однако пустой файл должен быть правильно назван и находиться в правильном каталоге.

Еще одна корректировка, которую вы, возможно, захотите сделать, это заменить -m на -r -nc -l inf (поскольку обычно -m означает -r -N -l inf, и я предлагаю заменить -N на -nc). В то время как -N проверяет временные метки, -nc избегает загрузки любого файла, который уже существует, независимо от временной метки (поэтому он работает, даже если сервер не поддерживает временные метки), но, что более важно, -nc приводит к файлам, уже загружены, сканируются на наличие ссылок, а -N нет. Это полезно в сочетании с -w (--wait), если вам нужно медленно зеркалировать большой сервер, потому что если вам нужно перезагрузить компьютер или что-то еще, прежде чем он завершено, вы можете возобновить зеркальное отображение с того места, где оно было остановлено, и wget по-прежнему будет учитывать любые ссылки из файлов, которые были загружены в прошлый раз.

С другой стороны, -N лучше, если ваша предыдущая загрузка была завершена и вам просто нужно проверить наличие обновлений, хотя зеркалирование с помощью -N по-прежнему зависит от любого обновленного файла, связанного со страницей, которая также имеет обновленную временную метку. (и если эта страница открывается по ссылке, а не напрямую по указанному вами URL-адресу, то по крайней мере одна из ее ссылающихся страниц должна также > иметь обновленную временную метку, чтобы его обновление было замечено, и т. д.) — в настоящее время не существует способа указать wget анализировать HTML-страницы, пропущенные -N, поскольку он может анализировать HTML-страницы, пропущенные -nc.

18.06.2020
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


Для любых предложений по сайту: [email protected]