Unless maybe stem already does exactly this for us?
Yup, stem parses the extrainfo descriptors...
https://stem.torproject.org/api/descriptor/extrainfo_descriptor.html#stem.de...
The only pesky bit is that you'll need to download a lot of descriptors from metrics (I assume you need the entries published over a long period of time?).