Maison > Article > développement back-end > 10 lignes de code Python pour télécharger des torrents par lots à l'aide de liens magnétiques, vos vacances ne seront plus jamais ennuyeuses !
Il y a quelques jours, un ami m'a envoyé un tas de liens magnétiques, me disant qu'il s'agissait de films relativement bons que je pouvais regarder à loisir au cours des deux derniers jours. Mais il y a trop de liens, ce serait épuisant d’en ajouter et de les télécharger un par un ! J'ai donc décidé d'essayer certaines méthodes de téléchargement automatisées.
Au début, j'ai essayé de trouver les API de certains outils de téléchargement existants, mais malheureusement je n'ai pas pu les trouver. Cependant, j'ai trouvé une bibliothèque plus intéressante pypiwin32. C'est aussi une superbe bibliothèque. Je l'ai déjà utilisé pour traiter Excel. À l'heure actuelle, je prévois d'utiliser win32 pour piloter automatiquement Thunder afin de réaliser le téléchargement automatique par lots des connexions de départ.
Concernant la bibliothèque pypiwin32, j'ai remarqué que l'utilisation de cette fonction devrait permettre de piloter directement Thunder. Cette fonction permet de se connecter à un logiciel fixe. Pour utiliser ce programme, il vous suffit d'obtenir le nom du logiciel d'installation enregistré sur cet ordinateur. Afin de simplifier le processus de recherche du nom enregistré, j'ai écrit le nom enregistré de Xunlei directement ici :
ThunderAgent.Agent.1
Mon nom enregistré local est celui ci-dessus. Bien sûr, si ce qui précède ne fonctionne pas, vous pouvez essayer le suivant. :
ThunderAgent.Agent64.1
Pour la version actuelle Il ne devrait y avoir aucun problème avec Thunder 9 ou Thunder 10.
Alors commençons notre voyage vers l’automatisation !
Nous devons d'abord télécharger la bibliothèque pypiwin32, et nous utilisons pip pour l'installer directement.
pip install pypiwin32
Si la vitesse de téléchargement est trop lente, vous pouvez spécifier la source Tsinghua à télécharger :
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pypiwin32
Maintenant, nous pouvons utiliser ce module directement.
Nous utilisons principalement la fonction Dispatch et mettons le nom enregistré de Xunlei dans cette fonction. pour terminer le chargement de Thunder.
<br/>
from win32com.client import Dispatch thunder = Dispatch('ThunderAgent.Agent.1')
Après avoir lancé Thunder avec succès, nous pouvons ajouter des tâches à Thunder.
À ce stade, nous utilisons la méthode AddTask.
Trois paramètres doivent être transmis à la méthode AddTask :
thunder.AddTask(磁力连接, 下载保存的文件名, 保存路径 )
Après cela, il suffit d'utiliser la fonction CommitTasks pour soumettre la tâche
Le code complet est le suivant :
from win32com.client import Dispatch thunder = Dispatch('ThunderAgent.Agent.1') url = "ftp://ygdy8:ygdy8@yg39.dydytt.net:3010" \ "/阳光电影www.ygdy8.com.追龙番外之十亿探长" \ ".HD.1080p.国语中字.mkv" filename = "追龙番外之十亿探长.mkv" thunder.AddTask(url, filename, r"C:\迅雷下载") thunder.CommitTasks() print("任务已建立,开始下载:{}....".format(filename))
C'est. tout le code. Cependant, pour Thunder, nous devons encore effectuer quelques réglages :
Nous devons vérifier le téléchargement en un clic et sélectionner le téléchargement immédiat dans la méthode de téléchargement par défaut.
C'est tout. Voici la vidéo de l'effet :
Ensuite, nous créons plusieurs tâches à télécharger. Utilisons les ressources de "Love Apartment 5" comme démonstration :
Il y en a au total. de 36 épisodes Nous pouvons voir quelques règles de l'URL Nous pouvons obtenir toutes les connexions magnétiques des 36 épisodes puis les ajouter à la tâche par lots :
for i in range(1, 37): if i < 10: i = "0{}".format(i) url = "ftp://ygdy8:ygdy8@yg76.dydytt.net:5919/" \ "[阳光电影-www.ygdy8.com]爱情公寓5-{}.mp4"\ .format(i) filename = url.split(']')[1] thunder.AddTask(url, filename, r"C:\迅雷下载") print("下载任务建立:{}....".format(filename)) thunder.CommitTasks()
A ce moment, notre tâche de téléchargement par lots a été établie et le téléchargement automatique par lots peut être effectué. Oui, l'effet vidéo est le suivant :
如果朋友给你的磁力连接是一个txt文件,那我们还可以读取文件每一行的磁力连接进行下载:
import csv with open("爱情公寓资源.txt", 'r', encoding='utf-8') as f: reader = csv.reader(f) films = [i[0] for i in reader] thunder = Dispatch('ThunderAgent.Agent.1') for film in films: thunder.AddTask(film, film[-12:], r"C:\迅雷下载") thunder.CommitTasks()
怎么样是不是很棒?你也来试试吧!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!