Vous êtes libre de télécharger l’outil et de l’utiliser à vos fins privées. Si vous modifiez ce programme et que vous souhaitez le partager, créez un fork. Vous devez inclure un lien vers le référentiel d'origine en haut, comme indiqué ici : Dépôt d'origine : [lien]
Le programme avancé vous permet de contrôler davantage son comportement et de modifier sa configuration. Pour la plupart des utilisateurs, le modèle standard suffit. La version avancée du programme se trouve dans le répertoire 'advanced_version' de ce référentiel.
Je crée cette application pour apprendre un peu de Python et l'utiliser comme moyen de sauvegarde pour le téléchargement de cartes par lots. J'ai mon propre module complémentaire de navigateur que j'ai écrit en JS et qui fonctionne très bien, mais je travaille sur cette solution au cas où mon module complémentaire défectueux cesserait de fonctionner. De plus, je ne publierai pas le code source de ce module complémentaire car il est fait juste pour moi - il est donc un peu cassé mais dans la mesure où je ne prends pas la peine de le réparer. Et c'est ainsi que ce projet commence. Le plan est d'utiliser Selenium et d'offrir encore plus de fonctionnalités que ce que le module complémentaire de navigateur actuel peut faire. Le module complémentaire fonctionnait en cliquant sur les boutons de téléchargement dans l'ordre, en attendant un temps codé en dur jusqu'à ce que le téléchargement soit terminé (pour éviter plusieurs téléchargements, car le site n'aimait pas ça), puis en cliquant sur le bouton suivant pour passer à la page suivante et répété . Maintenant, je souhaite créer une autre solution qui permet à l'utilisateur de créer des fichiers de configuration pour automatiser encore plus le processus de téléchargement. Je verrai où cela me mènera.
Je vois déjà qu'écrire une extension JS à cet effet était ultra-rapide, moins compliqué, mais les deux solutions ont certainement leurs avantages et leurs inconvénients. (je les énumérerai probablement plus tard)
le logiciel est en développement, il est donc conseillé de lire les commentaires de code dans les fichiers .py pour mieux comprendre son fonctionnement interne
le programme est conçu pour db.bepis.moe - donc si vous ne savez pas quelle valeur vous pouvez saisir dans certains champs -> allez sur le site Web -> sélectionnez le jeu - ? vérifiez ce que vous pouvez sélectionner et/ou saisir dans le formulaire de recherche
Sélectionnez le type de jeu
Sélectionnez le type de téléchargement -> "de base" permet de saisir uniquement "Nom" et/ou "Tag" pour rechercher -> "avancé" - permet de configurer tous les paramètres de recherche disponibles pour le jeu sélectionné (travail en cours sur celui-ci)
Entrez la valeur pour chaque champ demandé ou cliquez sur « Entrer » pour obtenir la valeur par défaut.
Attendez la fin du téléchargement.
La page du jeu sélectionné est chargée et le formulaire est rempli par le sélénium.
Après avoir cliqué sur le bouton de recherche, le programme attend 5 secondes pour que le site Web se charge.
Il téléchargera la carte toutes les 5 secondes, pour éviter les téléchargements multiples, car le site Web n'aime pas les téléchargements multiples. (Certaines cartes peuvent dépasser 25 Mo, c'est pourquoi il est préférable de lui donner plus que moins de temps) // Je peux créer une fonction qui vérifie si le téléchargement de la carte est terminé plutôt que de passer à la carte suivante à l'avenir.
Si la page contenait moins de 24 cartes, c'est la dernière page (ou une seule) -> Téléchargement terminé
Si la page contient 24 cartes mais que le bouton "Suivant" est désactivé -> Téléchargement terminé
Si le bouton est actif -> changez l'URL et chargez la page -> commencez à télécharger les cartes, jusqu'à ce qu'il y ait moins de 24 cartes sur la page ou que le bouton "Suivant" soit désactivé.
Certaines cartes pèsent beaucoup, même plus de 25 Mo - si votre connexion Internet est lente - CHANGEZ LE TEMPS D'ATTENTE - entre les téléchargements de cartes jusqu'à 20 secondes !
Les fonctions SLEEP correspondantes dans le code ont des commentaires entourés de #. Tout comme indiqué ci-dessous :
###################################### #BELOW TIME FOR CARD TO BE DOWNLOADED# ######################################
+Le problème connu est -> malwarebytes tuera le programme si vous l'exécutez depuis PyCharm, et éventuellement sous toute autre forme. Désactivez-le et essayez de l'utiliser à nouveau. //Il aime tuer les scripts python.
pour être sûr que le programme a téléchargé toutes les cartes vous pouvez utiliser cette formule : ((nombre de pages) - 1) * 24 + (nombre de cartes sur la dernière page)
pour 7 pages, lorsque la dernière contient 4 cartes cela ressemblerait à : 6*24+4 = 148 cartes
pour les utilisateurs moins avancés : n'utilisez pas ce script pour télécharger du "contenu en direct" -> si quelqu'un télécharge de nouvelles cartes sur le site et que cela répond aux conditions de votre téléchargement, le script ne les téléchargera pas. Cette situation modifiera l'ordre des cartes et peut conduire à l'omission de certaines cartes dans une recherche très active ou un téléchargement en double. Imaginez qu'il y ait 30 cartes sur le site Web - 1 page de 24 cartes et 6 cartes sur la page 2. Vous commencez le téléchargement et dans les premières secondes, quelqu'un télécharge 3 cartes supplémentaires. La page peut gérer 24 cartes, donc les 3 dernières cartes sont déplacées vers la page 2, où se trouvent désormais 9 cartes. Mais le script ne le sait pas - son navigateur a une page chargée avant cela. Il a la version du site Web dans laquelle les cartes ne sont pas déplacées. Le script passe de la page à la suivante (page 2). Vous téléchargez ces 9 cartes dont 3 cartes que vous possédez déjà.