Es steht Ihnen frei, das Tool herunterzuladen und für Ihre privaten Zwecke zu verwenden. Wenn Sie dieses Programm ändern und es teilen möchten, erstellen Sie einen Fork. Sie müssen oben einen Link zum Original-Repository einfügen, wie hier gezeigt: Original-Repository: [Link]
Mit dem erweiterten Programm können Sie sein Verhalten besser steuern und seine Konfiguration bearbeiten. Für die meisten Benutzer reicht die Standardversion aus. Die erweiterte Programmversion befindet sich im Verzeichnis „advanced_version“ in diesem Repository.
Ich erstelle diese Anwendung, um etwas Python zu lernen und sie als Backup-Mittel für den Batch-Karten-Download zu verwenden. Ich habe mein eigenes Browser-Add-on, das ich in JS geschrieben habe und das einwandfrei funktioniert, aber ich arbeite an dieser Lösung für den Fall, dass mein defektes Add-on nicht mehr funktioniert. Außerdem werde ich den Quellcode dieses Add-Ons nicht veröffentlichen, da es nur für mich erstellt wurde – es ist also ein wenig kaputt, aber ich mache mir nicht die Mühe, es zu reparieren. Und so beginnt dieses Projekt. Der Plan besteht darin, Selenium zu verwenden und noch mehr Funktionen bereitzustellen, als das aktuelle Browser-Add-on leisten kann. Das Add-on funktionierte, indem man der Reihe nach auf die Download-Schaltflächen klickte, eine fest codierte Zeitspanne wartete, bis der Download abgeschlossen war (um mehrere Downloads zu verhindern, da die Website das nicht mochte), dann auf die Schaltfläche „Weiter“ klickte, um zur nächsten Seite zu gelangen, und den Vorgang wiederholte . Jetzt möchte ich eine weitere Lösung erstellen, die es Benutzern ermöglicht, Konfigurationsdateien zu erstellen, um den Download-Prozess noch mehr zu automatisieren. Mal sehen, wohin es mich führt.
Ich sehe bereits, dass das Schreiben der JS-Erweiterung für diesen Zweck superschnell und weniger kompliziert war, aber definitiv haben beide Lösungen ihre Vor- und Nachteile. (Ich werde sie wahrscheinlich später auflisten)
Die Software befindet sich in der Entwicklung, daher wird empfohlen, Codekommentare in .py-Dateien zu lesen, um das Innenleben besser zu verstehen
Das Programm wurde für db.bepis.moe entwickelt. Wenn Sie also unsicher sind, welchen Wert Sie in einige Felder eingeben können -> gehen Sie auf die Website -> wählen Sie ein Spiel aus -? Prüfen Sie, was Sie auswählen und/oder in das Suchformular eingeben können
Wählen Sie den Spieltyp aus
Download-Typ auswählen -> „Basic“ ermöglicht die Eingabe von nur „Name“ und/oder „Tag“ für die Suche -> „Advanced“ – ermöglicht die Einrichtung aller für das ausgewählte Spiel verfügbaren Suchparameter (an diesem wird noch gearbeitet)
Geben Sie einen Wert für jedes Eingabefeld ein oder klicken Sie auf „Enter“, um den Standardwert zu erhalten.
Warten Sie, bis der Download abgeschlossen ist.
Die Seite für das ausgewählte Spiel wird geladen und das Formular wird mit Selen ausgefüllt.
Nachdem Sie auf die Suchschaltfläche geklickt haben, wartet das Programm 5 Sekunden, bis die Website geladen ist.
Die Karte wird alle 5 Sekunden heruntergeladen, um Mehrfach-Downloads zu verhindern, da die Website keine Mehrfach-Downloads mag. (Einige Karten können über 25 MB groß sein, deshalb ist es besser, mehr als weniger Zeit einzuplanen) //Ich kann eine Funktion einrichten, die prüft, ob der Karten-Download abgeschlossen ist, und dann in Zukunft mit der nächsten Karte fortzufahren.
Wenn die Seite weniger als 24 Karten enthielt, ist es die letzte Seite (oder nur eine) -> Download abgeschlossen
Wenn die Seite 24 Karten enthält, die Schaltfläche „Weiter“ jedoch deaktiviert ist -> Download abgeschlossen
Wenn die Schaltfläche aktiv ist -> URL ändern und Seite laden -> Karten herunterladen starten, bis weniger als 24 Karten auf der Seite sind oder die Schaltfläche „Weiter“ deaktiviert ist.
Einige Karten wiegen viel, sogar über 25 MB – wenn Ihr Internet langsam ist – ÄNDERN SIE DIE WARTEZEIT – zwischen Karten-Downloads auf sogar 20 Sekunden!
Die entsprechenden SLEEP-Funktionen im Code haben Kommentare, umgeben von #. Genau wie unten gezeigt:
###################################### #BELOW TIME FOR CARD TO BE DOWNLOADED# ######################################
+Das bekannte Problem ist -> Malwarebytes beendet das Programm, wenn Sie es von PyCharm aus ausführen, und möglicherweise in einer anderen Form. Deaktivieren Sie es und versuchen Sie es erneut. //Es tötet gerne Python-Skripte.
Um sicherzustellen, dass das Programm alle Karten heruntergeladen hat, können Sie diese Formel verwenden: ((Anzahl der Seiten) - 1) * 24 + (Anzahl der Karten auf der letzten Seite)
für 7 Seiten, wenn das letzte 4 Karten enthält, würde es so aussehen: 6*24+4 = 148 Karten
Für weniger fortgeschrittene Benutzer: Verwenden Sie dieses Skript nicht zum Herunterladen von „Live-Inhalten“ -> Wenn jemand neue Karten auf die Website hochlädt und diese die Bedingungen für Ihren Download erfüllen, lädt das Skript sie nicht herunter. In dieser Situation ändert sich die Kartenreihenfolge und es kann dazu führen, dass einige Karten bei einer sehr aktiven Suche oder einem doppelten Download ausgelassen werden. Stellen Sie sich vor, es gibt 30 Karten auf der Website – 1 Seite mit 24 Karten und 6 Karten auf Seite 2. Sie beginnen mit dem Herunterladen und in den ersten Sekunden lädt jemand drei weitere Karten hoch. Die Seite kann 24 Karten aufnehmen, daher werden die letzten 3 Karten auf Seite 2 verschoben, wo jetzt 9 Karten liegen. Aber das Skript weiß das nicht – der Browser hat vorher eine geladene Seite. Es gibt die Version der Website, bei der die Karten nicht verschoben wurden. Das Skript wechselt zur nächsten Seite (Seite 2). Sie laden diese 9 Karten herunter, einschließlich der 3 Karten, die Sie bereits haben.