def getWhatIfArchive():
archive = urllib.urlopen(archiveUrl)<EOL>text = archive.read()<EOL>if sys.version_info[<NUM_LIT:0>] >= <NUM_LIT:3>:<EOL><INDENT>text = text.decode('<STR_LIT:utf-8>')<EOL><DEDENT>archive.close()<EOL>parser = WhatIfArchiveParser()<EOL>parser.feed(text)<EOL>return parser.getWhatIfs()<EOL>
Parses the xkcd What If archive. getWhatIfArchive passes the HTML text of
            the archive page into a :class:`WhatIfArchiveParser` and then calls
            the parser's :func:`WhatIfArchiveParser.getWhatIfs` method and returns the dictionary produced.

            This function returns a dictionary mapping article numbers to :class:`WhatIf`
            objects for every What If article published thus far. If the parsing fails,
            for whatever reason, the dictionary will be empty.