Спасибо @Sitych, за Скачиваем музыку из vk с помощью python. Решил сделать форк
программирование является хобби; ------- - отступ
Авторизация
Используем input() чтобы каждый раз не править логин/пароль в коде,
а getpass скроет вводимый пароль.
Не забудем про пользователей у которых включена функция подтверждения входа:
def two_step_auth():
------code = input('Введите код подтверждения входа: ')
------remember_device = False
------return code, remember_devicevk_session = vk_api.VkApi(login=vk_login, password=vk_password, auth_handler=two_step_auth)
Если пользователь ошибся при вводе пары логин/пароль скажем ему об этом и попросим повторить ввод:
except vk_api.AuthError:
-------print('Неверный логин или пароль')-------main()
Путь загрузки
os.path.expanduser(r'~\Downloads') + r'\music_vk' позволит создать папку music_vk в папке Загрузки пользователя под которым запущен скрипт.
Выбор музыки для загрузки
Первым делом узнаем чью музыку хочет загрузить пользователь
Свою - определим id (Не каждый пользователь ВК знает свой id и где его можно посмотреть) с помощью vk.users.get()[0]['id'] и начнём загрузку.
Музыку своих друзей - получим список всех друзей, покажем пользователю список друзей с добавлением порядкового номера, попросим ввести номер друга и начнём загрузку:
Если же хочется скачать музыку другого пользователя, которого нет в друзьях, но id известен:
b = input('Введите номер друга: ')
friends_music(v_id=dictionary_friends[b])
Если профиль закрыт и/или музыка скрыта настройками приватности:
except vk_api.exceptions.AccessDenied:
-------print('У Вас нет прав для просмотра аудио пользователя')
Загрузка музыки
tqdm поможет отобразить ход загрузки:
Если аудиозапись не загружена (запрет от правообладателя в большинстве случаев)
except OSError:
-------print('Ошибка загрузки:', song, i['artist'] + ' - ' + i['title'])
len(next(os.walk(path))[2]) позволит узнать количество загруженных песен
После завершения загрузки спросим пользователя что делать дальше - Выйти или продолжить, вдруг захочет кроме своей музыки скачать музыку друзей, зачем перезапускать скрипт.
Чтобы данной поделкой смог воспользоваться каждый пользователь (Microsoft Windows) конвертируем python код в exe, с этим нам поможет auto-py-to-exe, на выходе получаем исполняемый файл, который не требует установленного python на запускаемом ПК.