python调用迅雷下载

迅雷极速版

环境

  • window7-64

  • python v3.7.0:1bf9cc5093

  • 迅雷极速版:1.0.26.296

  • 迅雷X纯净版:10.1.16.466

COM

1
2
3
4
5
from win32com.client import Dispatch
thunder = Dispatch("ThunderAgent.Agent64.1")
# AddTask("下载地址", "另存为文件名", "保存目录", "任务注释", "引用地址", "开始模式", "只从原始地址下载", "从原始地址下载线程数")
thunder.AddTask("https://nobige.cn/images/avatar.png")
thunder.CommitTasks()

CMD

1
2
3
4
5
6
7
import os,base64
url = 'https://nobige.cn/images/avatar.png'
os.chdir("D:\\xiao\\Xunlei\\Program")
def getThunderUrl(url):
return ("thunder://".encode("utf-8")+base64.b64encode(('AA'+url+'ZZ').encode("utf-8"))).decode("utf-8")
thunderUrl = getThunderUrl(url)
os.system("Thunder.exe -StartType:DesktopIcon \"%s\""%thunderUrl)

SDK

没看出个所以然来,又说好像只能支持HTTP,贴出地址

问题

  1. 磁力链接不能直接下载,还要手动点击(鼠标模拟)

  2. CMD方式的链接必须是迅雷特有的链接,或者磁力链接

  3. COM方式还需要安装pywin32,较为麻烦

    •    #安装步骤
         https://github.com/mhammond/pywin32/releases #下载对应系统和python版本的pywin32
         pip install Dispatch
         pip install pypiwin32
      

设置

  • ​ 迅雷X
    • [√]一键下载
    • [√]自动将低速任务移动至列尾
    • [√]全局下载速度低于 100 KB/s自动增加同时下载任务数
    • [√]自动修改为上次使用的目录
  • ​ 迅雷极速版
    • [√]自动修改为上次使用的目录
    • [√]开启静默下载
    • 默认下载模式为[立即下载]
    • [√]自动将低速任务移动至列尾
    • 原始地址线程数[10]

参考

使用python在迅雷中添加任务 - 知乎

用Python调用迅雷实现后台批量下载 - aRooooooba的博客 - CSDN博客

[2015.12.16]迅雷极速版1.0.33.358 纯净版–小俊博客