why does websave creates empty files?

3 views (last 30 days)
I run
baseurl = "https://www.sonecompany.com/xml/";
datelimits = datetime({'20080401', '20080601'}, 'InputFormat', 'yyyyMMdd','Format','yyyyMMdd');
subfile_limit = 5; %no more than _5 -- adjust as appropriate
subfile_modifier = ["_" + (1:subfile_limit)] + ".xml";
for Day = datelimits(1):datelimits(2)
daystr = string(Day);
for Sub = subfile_modifier
filename = "A_" + daystr + Sub;
url = baseurl + filename;
% Set up a directory+filename
path_to_save = "E:";
out_name_path = path_to_save+filename;
try
outfilename = websave(out_name_path,url);
fprintf('fetched %s\n', filename);
catch
break; %skip remaining subfiles for this date upon first failure
end
end
end
The output is
that has correct files (xml) files but redundant xml.html files. Why?
  3 Comments
alpedhuez
alpedhuez on 12 Mar 2022
These xml files are in the website. But those xml.html files are not in the website. I use delte command in Matlab to remove these files from the download directory. But still would like to know why such things happened.
Peter Perkins
Peter Perkins on 14 Mar 2022
Mostly unrelated: You don;'t need both format arguments, just Format will do:
>> datelimits = datetime({'20080401', '20080601'}, 'Format', 'yyyyMMdd')
datelimits =
1×2 datetime array
20080401 20080601

Sign in to comment.

Accepted Answer

Jan
Jan on 12 Mar 2022
path_to_save = "E:";
out_name_path = path_to_save+filename;
This produces file names like "E:A_20080401_5.xml". A valid file name has a file separator after the drive letter: "E:\" . Prefer fullfile() to join folder and file names.
  3 Comments
Jan
Jan on 12 Mar 2022
After the drive letter a file separator is required as well as between all folders.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!