Scraping game data from web
Some quick comments. Since your request is about readability, you can do three things at least:

get rid of unused variables eg: start = datetime.now()
improve the naming conventions for your variables: variables like cont or conti are quite similar (risk of typos/confusion) but the names are not intuitive and do not accurately describe the data you are manipulating. count is also too generic to be meaningful. Note that game_date looks confusingly similar to game_data and you even have a line: game_data.date.append(game_date). I think the risk of typo bugs is not negligible here.
add some line spacing here and there, plus a few comments. You can afford it as the code is less than 100 lines of code, so the implementation is reasonable and not bloated.

I don't think the class GameData is really useful the way it is implemented. To get the final printable result you could stick with a dataframe, you already have one, so see if it can be transformed further or transposed to another.
You have time.sleep after pd.read_html, but it does not guarantee that the page will be fully loaded. There are several functions in Selenium that you can use to wait for the presence of a given element. But probably you could use the requests module instead. On sites that use JS/Ajax, you may have no other choice but to use Selenium, but it takes more effort to do it right.
It would be good to add some validation to make sure that the result of your scraping is not void. Otherwise the processing will be wrong and return garbage. The BS find function will return None if the element is not found. So all you have to do is something like:
if None in (cont, conti, content, main):

or you can use the any function for this purpose.
However, findAll has a different behavior and will return an empty list if there is no matching element found.