Major Update.
https://museum.loathers.net/ has the same information as DCDB and returns the rankings for all items in a single page. This allows me to eliminate making one call per item to DCDB to get a ranking and that in turn eliminates caching of results, cache management and dealing with intermittent zero byte headers.
The dependencies on datelib and zlib have been removed.
Datafiles named DCQJW_<char>.txt are no longer created or updated. They can be manually deleted.
DC_<char>.txt remains as before - a file containing items that could be in the DC, but aren't, with some annotation.
<char>_DCRanksRaw.txt is an intermediate file that can be deleted but will be recreated every run.
<char>_DCRanks.txt replaces DCQJW_<char>.txt. It contains three columns: item, rank, and how many are in the DC. The amount to reach the next rank and first rank are no longer available in the file but that is a reasonable price to pay for the significantly improve run time since DCQuest no longer iterates over every item and queries DCDB.
Thanks to
@gausie for Museum and
@heeheehee for the JavaScript to fetch and parse the JSON.