AutoHotKey实现百度云批量离线下载工具
2015-08-22 19:01
423 查看
百度云的离线下载功能比较常用,比如用云盘在平板上看电视剧,通过云盘在电脑和平板端中转漫画、pdf等
但是百度云离线下载一直不支持批量操作,在需要离线下载漫画、连续剧、pdf期刊等资源时,相当费劲,因此自己开发了一个批量离线下载工具
工具使用AutoHotKey实现,原理是模拟用户的鼠标键盘操作自动操作百度云管家客户端进行处理
界面如下,先打开百度云管家并进入文件保存目录,输入链接并确定即可
工具(包括源码)下载地址
http://download.csdn.net/detail/moonshine_1988/9036053
源码
遗留问题
verycd复制到的ed2k连接,中文都是url编码过的%xx%xx形式,但是百度云不支持,需要自己手动url解码,ahk并没有转码功能,dll和com调用等我都不太会,有高手的话可以试着将urlDecode功能用dll或者com实现然后集成进来,如果实现请务必联系我,学习一下
但是百度云离线下载一直不支持批量操作,在需要离线下载漫画、连续剧、pdf期刊等资源时,相当费劲,因此自己开发了一个批量离线下载工具
工具使用AutoHotKey实现,原理是模拟用户的鼠标键盘操作自动操作百度云管家客户端进行处理
界面如下,先打开百度云管家并进入文件保存目录,输入链接并确定即可
工具(包括源码)下载地址
http://download.csdn.net/detail/moonshine_1988/9036053
源码
; 创建工具窗口 Gui, Font, s12 q5 Gui, Add, Edit, r9 w600 vlinks Gui, Add, Button,, 确定 Gui, Show, , 百度云批量离线下载工具v1.0 return GuiClose: ExitApp return ; 用户点击确定按钮后触发 Button确定: ; 窗口提交,使links变量得到用户输入赋值 Gui, Submit, NoHide ; 如果用户输入结尾有回车,则删除(verycd的批量赋值连接末尾带回车) if (SubStr(links, 0) = "`n") links := SubStr(links, 1, StrLen(links)-1) ; 使用回车符分割用户输入 linkArr := StrSplit(l 4000 inks, "`n") ; 循环处理下载链接 For index, link in linkArr { ; 判断百度云管家窗口是否打开 IfWinExist, 欢迎使用百度云管家 { ; 激活窗口 WinActivate, 欢迎使用百度云管家 ; 将鼠标移动到离线下载按钮(如果版本升级后按钮位置改变,可以自行调整这行代码坐标 Click 530, 117, 0 ;获取鼠标位置的颜色,以判断离线下载按钮并没有被其它子窗口遮挡(被遮挡则按钮无法点击,功能无法继续) PixelGetColor, currentColor, 530, 117, RGB if (currentColor = 0xE6F3FC) { ; 点击离线下载按钮 Click 530, 117 ; 判断离线下载任务创建窗口是否出现 WinWait, 新建离线下载任务窗口, , 5 if ErrorLevel { MsgBox, ,错误, WinWait timed out. break } else { WinActivate, 新建离线下载任务窗口 ; 单机连接输入框(版本升级后位置改变可以自行修改鼠标坐标) Click 66, 101 ; 将链接放到剪贴板 clipboard = %link% ; 模拟键盘ctrl+v输入链接,使用剪贴板要比模拟键盘输入链接速度快很多 SendInput ^v ; 点击确定按钮 Click 479, 254 ; 等待云管家的离线下载列表窗口出现,20意思是等待20秒,如果网速特别慢处理要超过20秒可以自行修改 WinWait, 离线下载任务列表, , 20 if ErrorLevel { MsgBox, ,错误, WinWait timed out. break } else { ; 关闭离线下载任务列表,继续处理下一个链接 WinActivate, 离线下载任务列表 WinClose, 离线下载任务列表 } } } else { MsgBox, , 错误, 请打开我的网盘页面并不要打开子窗口 break } } else { MsgBox, , 错误, 请先打开百度云管家 break } } return
遗留问题
verycd复制到的ed2k连接,中文都是url编码过的%xx%xx形式,但是百度云不支持,需要自己手动url解码,ahk并没有转码功能,dll和com调用等我都不太会,有高手的话可以试着将urlDecode功能用dll或者com实现然后集成进来,如果实现请务必联系我,学习一下
相关文章推荐
- Windows2003下批量添加和导出所有ip BAT脚本
- bat批处理批量修改文件扩展名的方法
- 批量文件查找替换功能的vbs脚本
- PowerShell实现批量重命名文件
- asp批量修改记录的代码
- C#/.Net 中快速批量给SQLite数据库插入测试数据
- Java批量修改文件名的实例代码
- 用python实现批量重命名文件的代码
- 批量杀死MySQL连接的四种方法详解
- Shell脚本批量修改文件后缀名代码分享
- Shell脚本实现批量下载资源并保留原始路径
- php实现refresh刷新页面批量导入数据的方法
- PowerShell批量文件重命名操作实例
- 网站被黑后处理方法及删除批量恶意代码的方法步骤
- perl批量查询ip归属地的方法代码
- sqlSQL数据库怎么批量为存储过程/函数授权呢?
- Android中使用二级缓存、异步加载批量加载图片完整案例
- python批量生成本地ip地址的方法
- PHP多线程批量采集下载美女图片的实现代码(续)
- asp.net实现批量删除实例