Where do the third party stats sites get their data?

As stated on Starcraft 2 Rankings' FAQ page:

Blizzard does not provide any easy to use list of players, we rely on cascade spidering through saved players, manually entered players and spidering through Blizzard forums to find players.

If you do not see a character, adding them through the character tab above will queue them and their division.

So they're simply scraping all the data Blizzard does supply, however little.