Как-то на одном из 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

Добавить комментарий

Вы можете авторизоваться с помощью социальных сетей:
     

Или заполнить форму:

Защитный код
Обновить


      Как узнать IP-адрес сайта
      Как узнать IP-адрес сайта

      В сети интернет есть несколько сервисов, которые могут сообщить IP-адрес сайта. Зачастую, эти сайты кроме ввода имени домена требуют ввести капчу, иногда имя и адрес электронной почты... - вот такая бюрократия! Для того, чтобы определить IP-адрес DNS-сервера, к которому относится сайт, точнее его доменное имя, и без ввода всяких дополнительных даных, существует несколько способов. Самый простой - это через...




      Сравнение компьютерной и человеческой памяти
      Сравнение компьютерной и человеческой памяти

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




      Авиационный фотограф Стив Моррис
      Авиационный фотограф Стив Моррис

      Еще летит твой самолет, куда? - ты сам пока не знаешь.Штурвал берет другой пилот, а ты об этом лишь мечтаешь... В. Захаров Фотографии Стива Морриса завораживают, и не важно, что на большинстве фотографий Стива не видна окраска воздушных судов, по которой можно идентифицировать принадлежность к авиакомпании, виден только силуэт, по которому угадывается тип и модификация ВС. Такой подход позволяет...




      Скопировать или переместить файлы из этой зоны?
      Скопировать или переместить файлы из этой зоны?

      Дано: компьютер с операционной системой Windows XP SP3 в корпоративной сети, построенной на Novell, несколько сетевых дисков, на которые даны права на запись/чтение. Встроенный браузер Internet Explorer - версии 7.... с чем-то. Неудобство: при копировании с/на любой сетевой диск проводник выдает сообщение: "Скопировать или переместить файлы из этой зоны?", в результате, пользователю каждый раз приходится дополнительно...




      Night game DOZOR
      Night game DOZOR

      15 марта 2008 года произошло моё знакомство с игрой "Дозор". Помогла мне в этом команда "Комсомольцы" в лице Руслана и Севы, позвав меня на очередную игру. Это была игра №17 первого сезона 2008 г. "Повелитель Безбрежной Пустыни". К игре я не был готов ни в техническом отношении (идиотский китайский светодиодный фонарик, не полностью заряженный телефон, который потом вырубился, хорошо, что был...




      Канадский авиационный доллар
      Канадский авиационный доллар

      Что подарить знакомому нумизмату на день рожденья? - Конечно же редкую монету, которой у него еще нет в коллекции! А если этот нумизмат близок к авиации, или просто любит самолеты и все, что с ними связано, то самый лучший подарок для него - канадский юбилейный авиационный доллар!




      Как настроить Wi-Fi Router TP-LINK TL-WR941N для Билайн
      Как настроить Wi-Fi Router TP-LINK TL-WR941N для Билайн

      Это третья статья из серии "Как настроить беспроводной роутер". В принципе, не важно, какой у вас провайдер Интернета, т.к. различия в настройке не существенные.  Различными могут быть: фиксированный или динамический IP-адрес; наличие или отсутствие привязки по MAC-адресу; протокол подключения (L2TP, PPTP или др.); адрес подключения



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