How does your result overlap with the nostr.watch data? Are they looking at fewer relays or are they filtering out more of them, to get their 700ish result?
When you start crawling relay lists to aggregate relays, you realize how all sorts of fucked up a lot of relay lists are.
Parsing all this and throwing out everything that's not a valid clearnet websocket server is a lot of crap to clean up. Getting closer though. Finding about 890 online clearnet relays.
https://tenor.com/view/rookie-numbers-gif-26135237
#crawlr
Discussion
Mines probably got some in there that aren't actually online. It's very buggy and gets a lot of junk still. But 700-900 seems about the right range.