Как-то на одном из web-ресурсов одному товарищу попалась коллекция редких видеороликов, которые, как показало исследование страницы сайта, были загружены в конкретную директорию на том самом сайте и имели однотипные названия файлов. И этот товарищ захотел скачать эти видеоролики на свой компьютер, чтобы ознакомиться с их содержимым в более спокойной обстановке и без интернета (в самолете во время длительного перелета).

Как скачивать файлы с сайта с помощью БАТника

Таким образом сформировалась задача - скачать эти видеоролики, причем, желательно автоматизированно, так как их количество было более 400 шт!




 

Вариантов скачать данные файлы было несколько:

1. С помощью одного их плагинов для браузера, позволяющих сохранять видео с web-страницы. Данный вариант не подходил, так как абсолютно не имел автоматизации, и каждый видео-файл нужно было бы запускать и скачивать отдельно. НЕ ПОДХОДИТ!

2. Открывать каждый файл по прямой ссылке (типа такой: http: // site.ru/some-folder/video154.mp4) и с помощью нажатия клавиш CTRL + S сохранять файл в нужную папку на компьютере. Этот способ сохранения также без автоматизации. НЕ ПОДХОДИТ!

3. Использовать программу Offline Explorer Enterprise или ее аналог. Подобные программы могут скачивать сайты почти со всем их содержимым, можно настроить скачивание только конкретных типов файлов, запустить процесс и ждать окончания, занимаясь другими делами...

Но данные программы практически все платные, их нужно найти, скачать, купить(?!), установить, настроить и только после этого запустить процесс и наслаждаться результатом. НЕ ОЧЕНЬ ПОДХОДИТ!

4. Использовать простую программу WGET и БАТник (BAT-файл). Программа WGET бесплатная, БАТник написать - 5 минут, и готово! Запустить БАТник и ждать окончания скачивания всех файлов. ПОДХОДИТ!

 

Содержимое BAT-файла:

 

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video1.mp4" -P D:\2

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video2.mp4" -P D:\2

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video3.mp4" -P D:\2

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video4.mp4" -P D:\2

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video5.mp4" -P D:\2

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video6.mp4" -P D:\2

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video7.mp4" -P D:\2

...

...

wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video450.mp4" -P D:\2



 

Синтаксис команды очень простой:

wget.exe - использовать программу WGET;

-c - ключ для возобновления закачки с места остановки, если загрузка файла случайно прервется;

--no-check-certificate - игнорировать сертификаты сайтов (для HTTPS). Если не добавить этот ключ, а на сайте стоит жесткая переадресация всех HTTP-запросов на HTTPS (например, 301-ый редирект), то можно получить ошибку:

 

ERROR: cannot verify site.ru's certificate, issued by `/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3':
  Unable to locally verify the issuer's authority.

To connect to vs1.coursehunters.net insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.

 

И скачать файлы не получится. Потому что, ХЗ какой сертификат используется :)))

После добавления ключа будет отображаться предупреждение, просто игнорируем его:

 

WARNING: cannot verify vs1.coursehunters.net's certificate, issued by `/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3':
  Unable to locally verify the issuer's authority.

 

"http: // site.ru/some-folder/video1.mp4" - адрес конкретного файла, который нужно скачать. Внимание: пробелы перед // и после не нужны!

-P D:\2 - путь для сохранения скачиваемых файлов (если не хотим, чтобы файлы сохранялись в папку с программой WGET и БАТником).

 

Соответственно, прописать в BAT-файле столько строк, сколько файлов нужно скачать. Сгенерировать нужное количество однотипных строк можно с помощью регулярных выражений или программы MS Excel (как вариант).




 

Итак, нужно сделать следующее:

  • Создать БАТник;
  • Скачать программу WGET с этого сайта либо с иного web-ресурса;
  • Поместить программу WGET в одну папку с БАТником;
  • Запустить БАТник и ждать окончания процесса скачивания файлов;

Как скачивать файлы с сайта с помощью БАТника

  • Если скачивание в какой-то момент остановится, закрыть консоль и запустить заново, предварительно удалив строки, в которых прописаны уже скачанные файлы. Строку с последним недокаченным файлом не удалять!




 

Внимание! Для упрощения отладки БАТника не вставляйте в него сразу много строк, а напишите для начала 1-2 и после них добавьте команду на паузу, чтобы успеть прочитать сообщение об ошибке, если она возникнет.

Синтаксис команды-паузы:

 

TIMEOUT /T 10 /NOBREAK

 

10 = 10 секунд.

 

Содержимое модифицированного BAT-файла:

(более оптимальное - чтобы не писать много строк в БАТнике, а только одну)

 

FOR /L %%I IN (104,1,428) DO wget.exe -c --no-check-certificate "http: // site.ru/some-folder/video%%I.mp4" -P D:\2 && TIMEOUT /T 20 /NOBREAK

 

В этом случае скачивание файлов выполняется в цикле.

FOR - оператор цикла;

/L  - ключ, задающий обработку набора из последовательности чисел с заданными началом, концом и шагом приращения;

%%I - переменная (если команду просто запускать в CMD или в POWERSHELL, то указывать один знак процента, в БАТнике нужно два);

IN (104,1,428) - диапазон значений для переменной I и шаг изменений: (первое значение, шаг, последнее значение);

http: // site.ru/some-folder/video%%I.mp4  - ссылка на скачивание файлов, содержащая в себе переменную %%I.

&& - оператор "И", позволяющий выполнить в цикле вторую команду, в нашем случае это пауза на 20 секунд. Знак & можно написать один раз.




Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (wget.zip)wget.zip 385 kB

Комментарии (1)

This comment was minimized by the moderator on the site

Да, хорошо так можно время свое сэкономить!
Спасибо

Здесь не опубликовано еще ни одного комментария

Оставьте свой комментарий

  1. Опубликовать комментарий как Гость.
0 Значки
Вложения (0 / 3)
Поделитесь своим местоположением

      Как переустановить сетевой протокол TCP IP
      Как переустановить сетевой протокол TCP IP

      При установке в составе какой-нибудь сборки Windows иногда может некорректно установиться сетевой протокол TCP IP. В этом случае нужно его переустановить, и по-другому просто никак. Как же переустановить сетевой протокол TCP IP? - без небольших "танцев с бубном" этого не сделать.




      Внедрение системы ADS-B в Австралии
      Внедрение системы ADS-B в Австралии

      Австралийские авиакомпании считаются самыми безопасными в мире благодаря авиакомпании Qantas Airways, у которой с 1973 года не зафиксировано ни одного случая, повлекшего человеческие жертвы! Привыкнув быть лидерами во всем, австралийцы анонсировали новые изменения в правилах полетов в воздушном пространстве Австралии. С 12 декабря 2013 года Австралия вводит новое требования: все воздушные суда, в...




      Сохранение маршрутов в Jeppesen FliteStar/FliteMap
      Сохранение маршрутов в Jeppesen FliteStar/FliteMap

      Очередная статья про особенности программы Jeppesen FliteStar/FliteMap, которые не всем известны. Jeppesen FliteStar/FliteMap - программа для предварительного планирования полетов, расчета маршрута с широким набором функций. Jeppesen FliteMap к тому же поддерживает подключение GPS-антенны и запись трека. При создании нового маршрута полета (перелета) в программе Jeppesen FliteStar/FliteMap по умолчанию он...




      Ошибка
      Ошибка "Failed to initialize JIT-EDocs API"

      Пользователи, на компьютерах (ноутбуках) которых установлены программы Jeppesen FliteStar/FliteMap и Jepp View иногда после очередного обновления навигационной базы данных при запуске программы FliteStar/FliteMap могут увидеть сообщение об ошибке: Сообщение об ошибке "Failed to initialize JIT-EDocs API. (-7019) Unknown error" говорит, что программа не может инициализировать JIT-EDocs API.




      Сертификат сервера auto_join_ota_service недействителен
      Сертификат сервера auto_join_ota_service недействителен

      В контуре управления мобильными устройствами MDM-сервера могут находиться как корпоративные планшеты и телефоны, так и устройства, являющиеся собственностью сотрудников организации, так называемые BYOD-устройства (Bring Your Own Device). Иногда при выполнении привязки (Enrollment) к MDM-серверу Apple (Apple Configurator + Profile Manager) BYOD-устройств во время попытки установить профиль...




      Шрифты Jeppesen
      Шрифты Jeppesen

      Программы Jeppesen eLink for Windows и JeppView позволяют распечатывать схемы аэродромов, в том числе и с помощью виртуальных принтеров - сохранять в формате PDF. Иногда может возникнуть необходимость (например, в образовательных целях) использовать часть схемы аэродрома, удалив часть объектов, либо, наоборот - внести в нее некоторые поправки и добавить дополнительные данные




      Как добавить аэродром в программе Jeppesen FliteStar, FliteMap
      Как добавить аэродром в программе Jeppesen FliteStar, FliteMap

      Фирма Jeppesen считается лидером среди поставщиков аэронавигационной информации и навигационная база данных Джеппесен - самая полная и объемная, и это не удивительно, так как Jeppesen занимается этой деятельностью аж с 30-ых годов 20 века (Подробнее - в статье "История Jeppesen"). Но есть такие аэродромы, которых нет в базе данных даже у Jeppesen, по крайней мере в той БД, которая официально предоставляется потребителям. Это всякие "секретные" военные...



Яндекс.Метрика