Skip to content

🎵 Сохранение аудиозаписей ВКонтакте. Tool to download audios from vk.com. 🎶

License

Notifications You must be signed in to change notification settings

sunnydesign/VkMusicDownloader

 
 

Repository files navigation

VK Music Downloader

Проект предназначен для использования в социальной сети ВКонтакте.
Перед использованием обязательно прочтение дисклеймера (тык).

Позволяет:

  1. Скачивать аудиозаписи средствами браузера из списка аудиозаписей пользователя, либо из плейлиста.
  2. Сохранить список аудиозаписей в файл и загрузить этот файл на компьютер. В файле будет список из исполнителя и названия песни и URL, по которому находится mp3 файл песни. Песня и её URL разделены знаком табуляции\t. (Однако вк динамически создаёт URL при воспроизведении аудио, поэтому найти файл по этому адресу можно будет только в течении ограниченного времени. Потом Вы получите 404).
  3. Загрузить аудиозаписи, сохранённые в файл средствами скрипта на языке python3. Для этого на компьютере должен быть установлен интерпретатор python.

Инструкция

1. Установка

Если Вы хотите просто скачать аудиозаписи средствами браузера (2.1) или сохранить список аудиозаписей как текстовый файл (2.2), можете пропустить этот пункт.

  1. Скачайте исходный код проекта. Это можно сделать 2 способами:
    • Скачайте и разархивируйте zip-архив.
    • Либо используйте git:
    git clone https://github.com/artslob/VkMusicDownloader.git
  2. Убедитесь, что у Вас есть интерпретатор python3.6 (возможно, подойдёт и меньшая версия 3.x) и он доступен из командной строки:
    # linux
    which python3
    python3 --version
    
    # windows
    where python3
    python3 --version
    Затем установим виртуальное окружение:
    # unix
    cd VkMusicDownloader
    python3 -m venv vk_venv
    source vk_venv/bin/activate
    python3 -m pip install -r requirements.txt
    
    # windows
    cd VkMusicDownloader
    python3 -m venv vk_venv
    vk_venv\Scripts\activate.bat
    python3 -m pip install -r requirements.txt

2. Использование

2.1 Загрузка аудиозаписей средствами браузера

  1. Открываем содержимое файла vk-audio-downloader.js: ссылка. Выделяем весь текст (Ctrl+A) и копируем.
  2. Заходим в раздел с аудиозаписями.
  3. Листаем в самый низ. (Чтобы прогрузились все аудиозаписи) (Можно зажать клавишу PageDown)
  4. Открываем консоль браузера. (F12 -> Консоль или Ctrl+Shift+J)
  5. Вставляем код.
  6. Если хотите загрузить только N первых (недавно добавленных) аудиозаписей, то пролистайте в самый верх вставленного Вами кода и найдите строку var VK_DOWNLOADER_DOWNLOAD_LATEST = 0;. Замените 0 на нужное число. Например: var VK_DOWNLOADER_DOWNLOAD_LATEST = 50;, тогда загрузятся только 50 первых в списке аудиозаписей.
  7. Нажмите Enter. Скачивание началось...
  8. Браузер может потребовать разрешение на сохранение файлов, необходимо подтвердить действие.
  9. Оставляем браузер на время прямо пропорциональное количеству аудиозаписей. В консоли будет отображаться прогресс скачивания.

2.2 Сохранение списка аудиозаписей в текстовый файл.

Точно так же, как и в загрузке аудиозаписей средствами браузера, только нужно скопировать содержимое другого файла: ссылка.
В конце загрузки должно появиться окно с предложением скачать текстовый файл audios.txt. Если окно не появилось, то листните вниз страницы, там, скорее всего внизу и слева, будет ссылка с названием audios.txt. Нажмите на неё.

2.3 Загрузка из тестового файла с помощью python скрипта.

После того, как Вы скачали файл со списком аудиозаписей и их URL, а также установили окружение и активировали его (тык), Вы можете использовать скрипт.
Чтобы получить помощь по параметрам скрипта, выполните команду: python3 main.py -h. Скрипт будет использовать параметры по умолчанию, если не указывать флаги.
Пример запуска:

python3 main.py -f /some/directory/audios.txt -d /where/to/save/audios/ -vv

-f – путь к файлу со списком аудиозаписей. По умолчанию ищется файл с названием audios.txt в той же директории, где лежит скрипт main.py.
-d – путь к директории, в которую будут загружены аудиозаписи. По умолчанию это та же директория, где лежит скрипт main.py.
-vv – означает высокий уровень логирования. Скрипт будет выводить полную информацию о выполнении на стандартный вывод. Можно сохранять лог в файл с помощью параметра -l.

Текущий help скрипта (когда скрипт находится в папке /tmp):

usage: main.py [-h] [-d DIR] [-f FILE] [-n NUMBER] [-l LOGFILE] [-v]

Download audios from text file with links.

optional arguments:
  -h, --help            show this help message and exit
  -d DIR, --dir DIR     Destination directory where audios are saved. Default:
                        /tmp.
  -f FILE, --file FILE  File that contains names of songs and their urls. Can
                        be set to stdin with value '-'. Default:
                        /tmp/audios.txt.
  -n NUMBER, --number NUMBER
                        Number of files that downloading at the same time.
                        Default: 10.
  -l LOGFILE, --logfile LOGFILE
                        Writable file for logging. By default set to stdout
                        with value '-'.
  -v, --verbose         Set level of logging. You can increase level by
                        repeating key. Levels by number: default: WARNING, -v:
                        INFO, -vv: DEBUG

Лицензия

MIT License

Благодарности

@abler за оригинальный скрипт.
@fizvlad за форк оригинального скрипта, с которого был сделан форк vk-audio-downloader.js.

Дисклеймер

  1. Социальная сеть ВКонтакте, о которой говорится в этом README и остальных файлах проекта, является вымышленной социальной сетью и не имеет никакого отношения к vk.com. Все действия и инструкции, представленные на этой странице, не имеют никакого отношения к реальной жизни.
  2. Исходный код является открытым; информация представленная в нем предназначена для ознакомления пользователей с материалами, которые могут представлять для них интерес.
  3. Доступ к ресурсу и исходному коду, а также использование материалов осуществляются исключительно по Вашему усмотрению и без предоставления каких-либо гарантий.
  4. Автор(ы) кода не несут никакой ответственности за использование, распространение и прочую деятельность прочих лиц, связанную с представленными выше материалами.
  5. Чтение, исправление, размножение и другие действия с контентом, который размещается на ресурсе, может нарушать законодательство страны Вашего проживания, а также пользовательское соглашение, заключенное между Вами и вымешленной и, возможно, реальной социальной сетью ВКонтакте.
  6. Весь текст данных файлов создан с помощью случайной генерации текста. Честно

Ave, Caesar, morituri te salutant

durov

About

🎵 Сохранение аудиозаписей ВКонтакте. Tool to download audios from vk.com. 🎶

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 84.6%
  • Python 15.4%