Скачиваем музыку из 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: В комментарии скинул ссылку на гитхаб