首页 > 代码库 > 自制下载列表导入迅雷7实现批量下载

自制下载列表导入迅雷7实现批量下载

1. 需求综述

由于最近要完成一个批量下载的任务,下载链接为URL+Filename+shareKey的形式,即需要共享密码才能下载到文件。然而上千个文件地址有了,共享密码也有了,但并不是放在一起的,即只提供了URL+Filename列表,共享密码单独提供。

那么问题来了,批量下载可以选用常用的下载工具,比如迅雷、电驴等,而制作下载列表呢,比如迅雷直接是***.downlist格式文件,要对文件里面的内容作如下变化,即添加公共密码信息:

技术分享



2. 下载列表预处理

所谓的预处理,即将每个下载链接补充上公共密码信息,这样的链接才是完整的,才可以顺利下载所需的文件。

如果不知道怎么导入txt,excel等文档到matlab中,可查看我之前回答网友在知道上的提问:

http://zhidao.baidu.com/question/167900694

Matlab2012b版本如下操作:

技术分享


然后,在Matlabworkspace窗口中出现变量名test,右击选save as,将数据以*.mat存放在你需要的位置。

如果你需要修正或者添加修改下载列表信息,如有些需要密码下载,就要在URL后面添加密码信息和一些配置信息。

可以用Matlab软件对txt的下载列表进行预处理,添加URL下载的秘钥配置信息,当然一般情况下不需要配置,对于有些下载需要通过注册获取下载密码的,则需要在下载URL后面添加秘钥信息。

简单的预处理程序如下,当然用C/C++等任何一门高级语言都可以实现对txt或者其他文档内的URL字符串的预处理。

% =========================================================================
%                     下载列表预处理
% =========================================================================
% By Gu Jinjin 2015/1/23
clear all;clc

load('YourDownloadList.mat');
%写入路径
file_path = 'downloadList.txt';
List = YourDownloadList;
row = size(List,1);

% 写入数据文件
% 打开文件
fid = fopen(file_path,'w'); 

for i=1:row
    str = List{i};
    List{i} = strcat(str,'?sr=a&si=readonly&sig=ioBUV3Wx%2FE');
    fprintf(fid,'%s\n',List{i});
end

%关闭文件
fclose(fid);



3. 利用迅雷实现批量下载

演示版本为迅雷7,修改成下载列表格式从txt到downlist

技术分享

Step1  文件》导入下载列表

技术分享

Step2 选择下载列表

技术分享

Step3 选择下载的文件

技术分享

Step4 批量下载结果

技术分享




自制下载列表导入迅雷7实现批量下载