Actually, I just thought of a possibly do-able idea that would, mostly, achieve what I was looking for.
I've not played with the latest version you've done, but would it be possible to feed the Almanac HTML files to the util, and have it generate an HTML index of EVERY player, coupled with links to their player pages in the Almanac? Or, more logically, just the one link to the last time that player was active? (Thus getting their complete history on their final player page before they retired.)
Perhaps even put a number next to each player to indicate how many years they were around for.
So, say Joe Bloggs, ID 0001, played 1945 to 1949. Have the util trawl the Almanac and cross reference ID 0001, and thus, in the main index your program would create, It would have:
Joe Bloggs (5) 1949
The 1949 bit being a link to his last player page, so you can see a final overview of his career. Then whoever 0001 became when he retired, would get an entry for 1950 to whenever they retired etc... Of course, the outputted file would have to be sorted alphabetically to be any real use.
I think you mentioned that you can have the program pick a random player. The ability to do that from the Almanac would be fantastic.
I hope all this makes sense. I didn't really think it through. I just wanted to post it before I forgot. I don't even know if it's possible.
Regretting asking for ideas and feedback yet?