Use requests.Session for all .get downloads #48
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change is to make all requests to nemweb use the same
requests.Session
. The benefit of this is that the underlying TCP connection is re-used, instead of being re-established each time. (And also the TLS connection?) The result is that it's far faster to download lots of small files. (Another benefit is that things like user agent only need to be set up once.)I tried downloading
DUDETAIL
with the script below. It took 93s using a session, and 285s without a session.(I also changed the few http:// urls to https://. I think this also helps with re-using the TCP+TLS connections. Also https is available, so we should use it.)