Bom dia a todos.
Eu queria baixar todas as minhas músicas do VKontakte para uma unidade flash USB, como nos velhos tempos. Pesquisando um pouco e não encontrando quase nada mais ou menos aceitável, decidi agir por conta própria. Depois de meia hora, recebemos um roteiro de trabalho para nós mesmos. Então, vamos começar.
Para funcionar, você precisa baixar o vk_api e solicitar os módulos!
Para começar, conecte os módulos necessários e declare algumas variáveis:
import os import pickle import vk_api import requests from vk_api import audio from time import time vk_file = "vk_config.v2.json" REQUEST_STATUS_CODE = 200 path = 'vk_music/'
Agora, escreveremos o método de autorização na sua conta do VKontakte:
def Auth(new=False): try: USERDATA_FILE = r"AppData/UserData.datab"
O método irá verificar se já efetuamos login anteriormente? Se isso aconteceu, você pode continuar nesta conta ou fazer login novamente. Nesse caso, os dados antigos serão apagados.
Em seguida, escrevemos o método auth_handler, necessário para autorização em contas nas quais a autenticação de dois fatores está ativada:
def auth_handler(): code = input(" \n> ") remember_device = True
E assim, agora podemos fazer login no VKontakte. No método Auth, o método SaveUserData () foi mencionado, é necessário salvar os dados. Vamos escrever:
def SaveUserData(login, password, profile_id): USERDATA_FILE = r"AppData/UserData.datab" if (not os.path.exists("AppData")):
Os dados serão gravados em formato binário, para não armazenar o login e a senha do usuário de forma clara.
Resta escrever um método para baixar o áudio do VKontakte, vamos fazer o seguinte:
def main(): try: if (not os.path.exists("AppData")): os.mkdir("AppData") if not os.path.exists(path): os.makedirs(path)
Bem, é isso. Agora, temos um script de trabalho para baixar gravações de áudio do VKontakte.
É assim que o código-fonte inteiro se parece:
Mostrar código fonte import os import pickle import vk_api import requests from vk_api import audio from time import time __version__ = 'VK Music Downloader v1.0' APP_MESSAGE = ''' _ . ___ /\\ | | | \\ | | | \\ / | / /__\\ | | | \\ | | | \\ / |/ / \\ |___| |__/ | |___| \\/ |\\ ''' vk_file = "vk_config.v2.json" REQUEST_STATUS_CODE = 200 path = 'vk_music/' def auth_handler(remember_device=None): code = input(" \n> ") if (remember_device == None): remember_device = True return code, remember_device def SaveUserData(login, password, profile_id): USERDATA_FILE = r"AppData/UserData.datab" SaveData = [login, password, profile_id] with open(USERDATA_FILE, 'wb') as dataFile: pickle.dump(SaveData, dataFile) def Auth(new=False): try: USERDATA_FILE = r"AppData/UserData.datab"
Estou apenas estudando, então ficarei feliz com todos os comentários no código. Obrigado pela atenção.