I've used URLSaveAsynchronous to do similar. Then create a rudimentary dashboard of active jobs with the below.
My first go at this "problem" was to use it too. But I needed to download hundreds or even thousands of HTML only to get minimal data from it. So, to save it and parse every single file was a waste of space, thus I decided to just parse the data on memory and save it later.