Buen dia a todos.
Quería descargar toda mi música de VKontakte a una unidad flash USB, como en los viejos tiempos. Buscando un poco en Google y sin encontrar casi nada más o menos aceptable, decidí actuar por mi cuenta. Después de media hora, obtuvimos un guión de trabajo para nosotros. Entonces comencemos.
Para trabajar, debe descargar vk_api y solicitar módulos.
Para comenzar, conecte los módulos necesarios y declare algunas variables:
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/'
Ahora escribiremos el método de autorización en su cuenta de VKontakte:
def Auth(new=False): try: USERDATA_FILE = r"AppData/UserData.datab"
¿El método verificará si ya iniciamos sesión anteriormente? Si esto sucedió, puede continuar en esta cuenta o iniciar sesión nuevamente. En este caso, los datos antiguos se borrarán.
A continuación, escribimos el método auth_handler, que es necesario para la autorización en cuentas en las que se habilita la autenticación de dos factores:
def auth_handler(): code = input(" \n> ") remember_device = True
Y así, ahora podemos iniciar sesión en VKontakte. En el método Auth, se mencionó el método SaveUserData (), es necesario para guardar datos. Escribámoslo:
def SaveUserData(login, password, profile_id): USERDATA_FILE = r"AppData/UserData.datab" if (not os.path.exists("AppData")):
Los datos se registrarán en forma binaria, para no almacenar el inicio de sesión y la contraseña del usuario en forma clara.
Queda por escribir un método para descargar audio de VKontakte, hagamos esto:
def main(): try: if (not os.path.exists("AppData")): os.mkdir("AppData") if not os.path.exists(path): os.makedirs(path)
Bueno, eso es todo. Ahora tenemos un script de trabajo para descargar grabaciones de audio de VKontakte.
Así es como se ve todo el código fuente:
Mostrar código fuente 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"
Solo estoy estudiando, así que estaré contento con todos los comentarios en el código. Gracias por su atencion