Скачиваем музыку с VK

Сегодня мы поговорим о том как быстро скачать всю музыку из «Моих аудиозаписей». Впрочем скачать можно музыку не только у своего пользователя, но и у любого другого, а также у любой группы где у вас есть доступ (ставим - перед id). В этом нам поможет VK API и Python.

Сразу приведу код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# coding=utf-8
"""
Script for download audio from VK
"""

import re
import urllib
import vk_api

def remove(value):
"""Return filtered name"""
deletechars = r'\/:*?"<>|'
for symbol in deletechars:
value = value.replace(symbol, '')
return value

def main():
"""Download audio from VK"""
login, password = '%your_login%', '%your_password%'
vk_session = vk_api.VkApi(login, password)

try:
vk_session.authorization()
except vk_api.AuthorizationError as error_msg:
print error_msg # В случае ошибки выведем сообщение
return # и выйдем

vkon = vk_session.get_api()
# response = vkon.audio.get(owner_id=4215210, offset=279) пример с offset
response = vkon.audio.get(owner_id=%your_owner_id%)

dfile = urllib.URLopener()

for item in response['items']:
url = re.sub(r'\?extra=(.*)', '', item['url'])
artist = item['artist']
title = item['title']
fname = artist + '_' + title + '.mp3'
print artist + ' ' + title + ' ' + url
dfile.retrieve(url, remove(fname))

if __name__ == '__main__':
main()

Код под Python 2.

Вписываем свои логин и пароль Вконтакте, а также id своего пользователя (%your_login%, etc). Сохраняем как vkmp.py.

Устанавливаем недостающую либу и запускаем качалку:

1
2
pip install vk_api
python vkmp.py

Вымышленная картинка с примером работы скрипта:
Такого не было

Считаю что продублировать у себя музыку локально не будет лишним.