Fixed a few misplaced comments.
dataGridView1_CellContentClick() does not need two GetPageData() calls, with and without space-to-underscore. All spaces (if found) are replaced with underscore. Does not affect non-spaced strings.
Combined ParseRealm() calls to rowcolumns.SelectSingleNode('./span') so it doesn't reparse the same data.