Скачиваем музыку из vk с помощью python / Хабр
Всем, привет. Я люблю слушать музыку в ВК, так как малоизвестные группы обычно выкладывают свою музыку туда. Приложение, через которое я слушал бесплатно в фоне, почему-то перестало рабоать, и тогда решил скачать музыку на телефон. Тыкать в браузере очень долго, а светиться на сайтах, которые скачивают музыку, я не хотел. Пришла в голову идея скачать музыку с помощью питона. Через официальное API от ВК скачать музыку не выйдет, так как они отключили публичный API для аудио. Сначала был вариант парсить мобильную версию и тащить оттуда ссылки на песни, но я не умею парсить сайты, да и python отличается именно тем, что для любой задачи уже есть модуль. Собственно полазил в google нашел библиотеку vk_api. У нее как раз есть метод, который возвращает ссылки на песни.
Сначала импортируем нужные модули. Модуль time нужен, чтоб посмотреть за сколько скачивались ваши песни. Он не обязателен.
import vk_api from vk_api import audio import requests from time import time import os
Теперь добавим немного переменных. name_dir — имя папки, в которую скачаются песни (добавил, чтоб все аккуратно было), а path — путь, куда скачаются песни
REQUEST_STATUS_CODE = 200 name_dir = 'music_vk' path = r'E:\python\course\music\\' + name_dir login = '___' # Номер телефона password = '___' # Пароль my_id = '____' # Ваш id vk
Здесь создаем нашу папку name_dir, если ее нет.
if not os.path.exists(path): os.makedirs(path)
Теперь нам нужно авторизоваться и получить список песен.
vk_session = vk_api.VkApi(login=login, password=password) vk_session.auth() vk = vk_session.get_api() # Теперь можно обращаться к методам API как к обычным # классам vk_audio = audio.VkAudio(vk_session) # Получаем доступ к audio
Переходи в директорию, куда будем сохранять песни
os.chdir(path)
А вот и алгоритм, который скачивает песни и сохраняет их. vk_audio.get(owner_id=my_id) — возвращает список песен по переданному id. Итерируемся по этому списку, чтоб потом записать каждую песню в файл
time_start = time() for i in vk_audio.get(owner_id=my_id): try: r = requests.get(i["url"]) if r.status_code == REQUEST_STATUS_CODE: with open(i["artist"] + '_' + i["title"] + '.mp3', 'wb') as output_file: output_file.write(r.content) except OSError: print(i["artist"] + '_' + i["title"]) time_finish = time() print("Time seconds:", time_finish - time_start)
У меня 1000 песен качались 600 секунд.
vk_audio.get(owner_id=my_id) — возвращает список. Список выглядит вот так:
[ { "id": 456239850, "owner_id": Здесь будет переданный id, "url": "https://cs1-67v4.vkuseraudio.net/p9/d6e2cf63cf34b8.mp3?extra=KIpwmZ_N4DW8dxSL5waeW4LtuhKO_6Wjamf1xjc0kg7YT_iGXVtayuRtTU0tspSNAaMGKYqcmLluZXjdLqXifH-p2h83sCpo2yzN3fO2p9M1sOHpx0_X_abTKzVXO7Uwsf6YiZOWL1P5RQmSOZhY3GEz", "artist": "Lumen", "title": "Sid & Nancy", "duration": 247 }, ... ]
При скачивании песен возникла вот такая ошибка, не совсем понял что это. Мне кажется связано с названием песен. Разбираться было лень, поэтому я просто вывел название песен в консоль. Вот ошибка:
Требуемые модули: request, vk_api, BeautifulSoup4
Бесплатно скачать музыку из ВК
Приложения для Android > Музыка и аудио > Бесплатно скачать музыку из ВКонтакте
Это приложение в настоящее время не активно в Google Play
История рейтинга Google Play и гистограмма
Список изменений
- 11 марта 2014 г. Неопубликовано
Информация о разработчике
вьентоскуро
Веб-сайт
Н/Д
Описание
ВОЗМОЖЕН НЕСАНКЦИОНИРОВАННЫЙ ПОИСК МУЗЫКИ!
Удобный способ скачать музыку из ВКонтакте прямо на телефон. Поддерживаются расширенные возможности аудио, добавляйте его в свои списки музыки среди всех вконтакте!
Теперь есть поиск дополнительных видео и просмотр их в браузере ( из-за ограничений API ВКонтакте эта опция доступна только .
Группа в ВКонтакте : http://vk.com/vk_mdownloader
Ключ возможности:
— Скачать аудио в папку Музыка на карту памяти
— Просмотр ваших записей, а также ваших друзей (и просмотр альбомов)
— Просмотр аудио группы
— Просмотр аудио на стенах друзей и групп (анализ первых 2000 записей)
— Добавление песен к вашему аудио, если песен пока нет
— Отображать длину записей
— Показывать битрейт/размер записи
— Синхронизировать с Shazam
— Для просмотра видео и поиска. Просмотр видео только через браузер, к сожалению
Отличие от платной версии: в платной версии нет рекламы и оффлайн режим. Вы можете скачать его здесь: https://play.google.com/store/apps/details?id=com.vientooscuro.downloader
ключевые слова: вконтакте музыка и видео вконтакте скачать музыку, видео вконтакте, видео, музыка, vk music, vk muzika, vk musica, vk,
Последние изменения:
В версии 7.0
— Добавлена история поиска при поиске из приложения меню
— Исправление ошибок
— Добавлена возможность установки размытия фона и изменения степени размытия
— Добавлена возможность загрузки до 5 файлов за раз при двойной загрузке (в настройках можно выбрать старую загрузку )
— Добавлен запрос на подтверждение выхода из системы
— Увеличены списки флажков
ВОЗМОЖЕН НЕСАНКЦИОНИРОВАННЫЙ ПОИСК МУЗЫКИ!
Удобный способ скачать музыку из ВКонтакте прямо на телефон. Поддерживаются расширенные возможности аудио, добавляйте его в свои списки музыки среди всех вконтакте!
Теперь есть поиск дополнительных видео и просмотр их в браузере ( из-за ограничений API ВКонтакте эта опция доступна только . Скачать пока нет )
Группа ВКонтакте: http://vk.com/vk_mdownloader
Основные возможности:
— Скачать аудио в папку Музыка на карту памяти
— Просмотреть свои записи, а так же своих друзей (и просмотр альбомов)
— Просмотр группы Аудио
— Просмотр аудио на стенах друзей и групп (анализ первых 2000 записей)
— Добавление песен к вашему аудио, если песен еще нет
— Отображение длины записей
— Показывает битрейт/размер записи
— Синхронизировать с Shazam
— Для просмотра видео и поиска. Просмотр видео только через браузер, к сожалению
Отличие от платной версии: в платной версии нет рекламы и оффлайн режим. Скачать можно здесь: https://play.google.com/store/apps/details?id=com.vientooscuro.
ключевые слова: вконтакте музыка и видео вконтакте скачать музыку, видео вконтакте, видео, музыка, музыка вк ,vk muzika,vk musica,vk,
Последние изменения:
В версии 7.0
— Добавлена история поиска при поиске из меню приложения
— Исправление ошибок
— Добавлена возможность установки размытия фона и изменения степени размытия
— Добавлена возможность загрузки до 5 файлов за раз при двойной загрузке (в настройках можно выбрать старую загрузку)
— Добавлен стандартный фон (выключен в настройках)
— Увеличены списки флажков
Показать полное описание Скрыть полное описание
Комментарии
У нас недостаточно комментариев для создания облака тегов. Пожалуйста, зайдите позже.
Рейтинг Google Play
Это приложение не имеет рейтинга
Разрешения
Разрешения не найдены
Библиотеки
Мы еще не собрали информацию о библиотеке для этого приложения. Вы можете использовать приложение AppBrain Ad Detector для обнаружения библиотек в приложениях, установленных на вашем устройстве.
VK Music & Video Downloader 2.4 Скачать бесплатно
РЕКЛАМА Д В Е Р Т И С Е М Е Н Т
Описание издателя
Программа, с помощью которой вы можете не только слушать любимую музыку, которую слушают пользователи социальной сети «ВКонтакте», но также ее и скачивать. Скачать бесплатно музыку MP3 и видео MP4
О VK Music & Video Downloader
VK Music & Video Downloader — бесплатное приложение для Android, опубликованное в списке «Другие приложения» раздела «Аудио и мультимедиа».
Разработчик VK Music & Video Downloader — Android_LGE. Последняя версия, выпущенная разработчиком, — 2.4. Это приложение было оценено 3 пользователями нашего сайта и имеет средний рейтинг 3,5.
Чтобы установить VK Music & Video Downloader на Android-устройство, просто нажмите зеленую кнопку «Продолжить в приложении» выше, чтобы начать процесс установки. Приложение размещено на нашем сайте с 24 июня 2013 г. и было загружено 1035 раз. Мы уже проверили, безопасна ли ссылка для загрузки, однако для вашей собственной безопасности мы рекомендуем вам проверить загруженное приложение антивирусом. Если ваш антивирус определяет VK Music & Video Downloader как вредоносное ПО или если ссылка для скачивания com.lgelectronics.vkmusic не работает, воспользуйтесь контактной страницей, чтобы написать нам.
Как установить VK Music & Video Downloader на Android-устройство:
- Нажмите кнопку «Продолжить в приложении» на нашем сайте. Это перенаправит вас в Google Play.
- Как только VK Music & Video Downloader появится в списке Google Play вашего Android-устройства, вы можете начать его загрузку и установку. Нажмите на кнопку «Установить», расположенную под строкой поиска и справа от значка приложения.
- Появится всплывающее окно с разрешениями, необходимыми для VK Music & Video Downloader. Нажмите «Принять», чтобы продолжить процесс.