Пакетная загрузка файлов с помощью Zennoposter

Запланировав поездку на выходные всей семьей подумал о том, что песни из детских мультфильмов будут очень приятны в дороге. Ну разве плохо петь хором нечто вроде:

? 🙂 Сказано — сделано!
Интересным ресурсом для донорства песен в мой IPod оказался сайт http://savok.name/, посвященный пройденным этапам истории. Выбор песен неплох, но возможности пакетной закачки на сайте — не предусмотрено 🙁

На помощь приходит Zennoposter — я писал о нем ранее, и все же повторюсь — совершенно уникальная программа, позволяющая автоматизировать все происходящее в браузере. Итак, задача проста:
1. Находим ссылку на файл
2. Активируем ее
3. Сохраняем файл на компьютер
4. Переходим к первому пункту

Посмотрев структуру сохранения файлов на указанном сайте видно, что она использует статический параметр: http://savok.name/uploads/music/, а вот имя файла имеет численное значение. Учитывая, что наша задача — сохранение всей базы песен — это только облегчает нашу задачу.

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

sound-downloader-1-1

Итак, рассмотрим общую схему работы загрузчика подробнее:
1. Устанавливаем начальное значение переменной.
2. Их созданного списка, куда мы поместили статическое значение ссылки http://savok.name/uploads/music/ получаем эту самую ссылку в виде переменной.
3. Указываем адрес на диске, куда будем сохранять скачанные файлы
4. Формируем GET-запрос в виде: {-Variable.file-}{-Variable.count-}.mp3, где {-Variable.file-} — переменная, имеющая значение http://savok.name/uploads/music/, а {-Variable.count-} — значение счетчика, mp3 — расширение файла, которое не меняется.
5. Выдается уведомление о сохранении файла
6. Увеличиваем значение счетчика на 1.
7. Возвращаемся на пункт 1.

Таким образом наша программка обращается к ссылке http://savok.name/uploads/music/1.mp3, сохраняет ее, увеличивает значение счетчика на единицу, после чего сохраняет второй файл и далее-далее-далее. На самом деле схема достаточно гибкая. Ничто не мешает нам парсить оригинальное имя файла, и грузить его 🙂

На этом все.
Скачать сам проект можно по ссылке 😉

Спасибо за внимание! В случае возникновения вопросов — пишите: oleksiy@lavrynenko.com

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut