Хобрук: Ваш путь к мастерству в программировании

несколько wget -r сайт одновременно?

любая команда /wget с параметрами?

Для многопоточной загрузки сайта рекурсивно и одновременно?

20.01.2011

Ответы:


1

Я нашел достойное решение.

Прочитайте оригинал на http://www.linuxquestions.org/questions/linux-networking-3/wget-multi-threaded-downloading-457375/

wget -r -np -N [url] &
wget -r -np -N [url] &
wget -r -np -N [url] &
wget -r -np -N [url] &

скопировано столько раз, сколько вы считаете нужным, чтобы загрузить столько процессов. Это не так элегантно, как правильно многопоточное приложение, но оно выполнит работу с небольшими затратами. ключом здесь является переключатель «-N». Это означает, что файл следует передавать только в том случае, если он новее того, что находится на диске. Это (в основном) предотвратит загрузку каждым процессом одного и того же файла, уже загруженного другим процессом, но пропустит файл и загрузит то, что не загрузил какой-либо другой процесс. В качестве средства для этого используется отметка времени, отсюда и небольшие накладные расходы.

Это отлично работает для меня и экономит много времени. Не создавайте слишком много процессов, так как это может перегрузить соединение веб-сайта и поставить галочку на владельце. Держите его около максимума 4 или около того. Однако это число ограничено только пропускной способностью процессора и сети на обоих концах.

19.08.2011
  • Это сработало для вас? Я использую его на двух серверах без проблем до сих пор. 27.07.2012
  • Я использую wget -m для простоты и запускаю сразу несколько 27.11.2018

  • 2

    При использовании параллельного wget с переключателем xargs это решение выглядит намного лучше:

    https://stackoverflow.com/a/11850469/1647809

    31.03.2014
  • Это хорошо только тогда, когда вы заранее знаете все загружаемые URL-адреса. Это не тот случай, когда вы хотите отразить сайт. 03.01.2018

  • 3

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

    apt-get install axel
    
    axel http://example.com/file.zip
    
    07.06.2013
  • или aget enderunix.org/aget, но это не рекурсивные решения (хорошо для других людей, которые получили на этот вопрос ищет один хотя) 18.12.2013

  • 4

    Ну, вы всегда можете запустить несколько экземпляров wget, не так ли?

    Пример:

    wget -r http://somesite.example.org/ &
    wget -r http://othersite.example.net/ &
    

    и т. д. Этот синтаксис будет работать в любой Unix-подобной среде (например, Linux или MacOS); не уверен, как это сделать в Windows.

    Сам Wget не поддерживает многопоточные операции — по крайней мере, ни справочная страница, ни на его веб-сайте есть какие-либо упоминания об этом. В любом случае, поскольку wget поддерживает HTTP keepalive, узким местом обычно является пропускная способность соединения, а не количество одновременных загрузок.

    20.01.2011
  • @ c2h2: согласно справочной странице wget ( linux.die.net/man/1/wget ) и документы wget на своем веб-сайте ( gnu.org/software/wget/ manual/wget.html ), такой опции (или чего-то подобного) нет — wget является однопоточным. Прости. 20.01.2011
  • Новые материалы

    Как я могу подписаться на тему изображений в ROS Matlab и получить изображение RGB?
    Привет, Пожалуйста, как я могу извлечь изображение из сообщения ROS Image, за которым следует imshow? Я уже подписался на правильную тему, но message.getData() дает мне объект..

    Понимание СТРУКТУРЫ ДАННЫХ И АЛГОРИТМА.
    Что такое структуры данных и алгоритмы? Термин «структура данных» используется для описания того, как данные хранятся, а алгоритм используется для описания того, как данные сжимаются. И данные, и..

    Как интегрировать модель машинного обучения на ios с помощью CoreMl
    С выпуском новых функций, таких как CoreML, которые упростили преобразование модели машинного обучения в модель coreML. Доступная модель машинного обучения, которую можно преобразовать в модель..

    Создание успешной организации по науке о данных
    "Рабочие часы" Создание успешной организации по науке о данных Как создать эффективную группу по анализу данных! Введение Это обзорная статья о том, как создать эффективную группу по..

    Технологии и проблемы будущей работы
    Изучение преимуществ и недостатков технологий в образовании В быстро меняющемся мире технологии являются решающим фактором в формировании будущего работы. Многие отрасли уже были..

    Игорь Минар из Google приедет на #ReactiveConf2017
    Мы рады сообщить еще одну замечательную новость: один из самых востребованных спикеров приезжает в Братиславу на ReactiveConf 2017 ! Возможно, нет двух других кланов разработчиков с более..

    Я собираюсь научить вас Python шаг за шагом
    Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..