需求
准备参加十七届研究生数学建模比赛,打算把题目大致过一遍。准备工作包括,批量下载题目和优秀论文,代码实现其中几篇,理论知识复习,生产力工具以及写作模板。本文为第一步,批量下载题目。
实现过程
网络上已经有相关教程,利用matlab的urlwrite函数实现。但放在我的电脑上运行却报错了,原因估计是中间的文件名不是用字符串写的,而是用转义函数sprintf写的。
本文的技术路线是matlab中的websave,matlab版本为R2019a。
%以下载2011美赛数模证书为例
clc,clear;
num = 11701:11710;
URLs = cell(size(num));
folder_filenames = cell(size(num));
filenames = cell(size(num));
for idx = 1:length(num)
URLs{idx} = sprintf('http://www.comap-math.com/mcm/2011Certs/%d.pdf',num(idx));
filenames{idx} = ['D:\研二上\研究生数学建模\test\',num2str(num(idx)),'.pdf'];
end
tic;
for idx = 1:length(num)
fprintf(1,'正在下载%s...\n',filenames{idx});
weboptions('Timeout',10);
outfilename=websave(filenames{idx},URLs{idx});
if ~isempty(outfilename)
fprintf(1,'%s成功下载!\n