Guten Tag an alle.
Ich wollte meine ganze Musik von VKontakte auf einen USB-Stick herunterladen, wie in den guten alten Zeiten. Ein bisschen googeln und fast nichts mehr oder weniger akzeptabel finden, beschloss ich, alleine zu handeln. Nach einer halben Stunde haben wir ein funktionierendes Skript für uns. Also fangen wir an.
Um zu arbeiten, müssen Sie die vk_api herunterladen und Module anfordern!
Verbinden Sie zunächst die erforderlichen Module und deklarieren Sie einige Variablen:
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/'
Jetzt schreiben wir die Autorisierungsmethode in Ihr VKontakte-Konto:
def Auth(new=False): try: USERDATA_FILE = r"AppData/UserData.datab"
Die Methode prüft, ob wir uns bereits früher angemeldet haben? In diesem Fall können Sie in diesem Konto fortfahren oder sich erneut anmelden. In diesem Fall werden die alten Daten gelöscht.
Als Nächstes schreiben wir die auth_handler-Methode, die für die Autorisierung in Konten benötigt wird, in denen die Zwei-Faktor-Authentifizierung aktiviert ist:
def auth_handler(): code = input(" \n> ") remember_device = True
Und jetzt können wir uns bei VKontakte anmelden. In der Auth-Methode wurde die SaveUserData () -Methode erwähnt, die zum Speichern von Daten benötigt wird. Lass es uns schreiben:
def SaveUserData(login, password, profile_id): USERDATA_FILE = r"AppData/UserData.datab" if (not os.path.exists("AppData")):
Die Daten werden in binärer Form aufgezeichnet, um das Login und das Passwort des Benutzers nicht in klarer Form zu speichern.
Es bleibt noch eine Methode zum Herunterladen von Audio von VKontakte zu schreiben. Lassen Sie uns Folgendes tun:
def main(): try: if (not os.path.exists("AppData")): os.mkdir("AppData") if not os.path.exists(path): os.makedirs(path)
Nun, das ist es. Jetzt haben wir ein funktionierendes Skript zum Herunterladen von Audioaufnahmen von VKontakte.
So sieht der gesamte Quellcode aus:
Quellcode anzeigen 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"
Ich lerne gerade, daher freue ich mich über alle Kommentare im Code. Vielen Dank für Ihre Aufmerksamkeit.