I think the loop below reads pretty well, basically just attempt the download, record the success or failure, write it to JSON