4

Скачиваем музыку из vk с помощью python

Преамбула:
Я, как и большинство, люблю слушать музыку через вк. Так как я бедный студент, я пользовался бесплатным приложением для прослушивания музыки из вк в фоне. Но недели 2 назад оно перестало нормально работать, и у меня возникла потребность в новом приложении. Не найдя ничего путного, решил делать все своими силами.
Вот, что из этого вышло:

import vk_api

from vk_api import audio

import requests

from time import time

import os


vk_file = "vk_config.v2.json"

REQUEST_STATUS_CODE = 200

name_dir = 'music_vk' # Папка, куда буду скачены песни


login = '_____' # Номер телефона

password = '____'  # Пароль

my_id = '____' # Ваш id

path = r'C:\music\\' + name_dir # Нужно прописать путь, где будет создана папка music_vk


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()

vk_audio = audio.VkAudio(vk_session)


os.chdir(path)


i = vk_audio.get(owner_id=my_id)[85]

r = requests.get(i["url"])

if r.status_code == REQUEST_STATUS_CODE:

try:

with open(i["artist"] + '_' + i["title"] + '.mp3', 'wb') as output_file:
output_file.write(r.content)

except OSError:

with open(i["artist"] + '_' + i["title"] + '.mp3', 'wb') as output_file:

output_file.write(r.content)


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:

printi["artist"] + '_' + i["title"])

time_finish = time()

print("Time seconds:", time_finish - time_start)  # Пишет сколько времени скачивалась музыка

Краткое руководство как запустить скрипт для тех, кто не знаком с python

1. Устанавливаем python 3.5+
2. Для в командной строке пишем
pip install vk_api

pip install request
3. Теперь создаем файл name.py. Желательно на рабочем столе и копируем туда текст выше или лучше с гитхаба(https://github.com/Sitych/vk_music/blob/master/pikabu.py)
4. В скрипте исправляем путь, куда будет сохранена музыка. В конце обязательно оставить два обратных слеша \\ . Можно не исправлять, тогда песни скачаются на диск С в папку music
5. Снова открываем командную строку. Если вы создали файл на рабочем столе, то прописываем:
python name.py

6. Ждем, пока скачается музыка. У меня 1000 песен скачивались 600 секунд или 10 минут, плюс еще минуту сканилась музыка из вк.

Комменатариев больше не давал, так как тру юзер python все поймет, а кто не знаком с ним, остальное не нужно. Если есть вопросы пишите в комментарии
PS: В комментарии скинул ссылку на гитхаб