'Create the proper parser instance, please note that the order in which
we ask for the type is not random, first we discard the images which
account for a great % of the URLs in a site, then we ask for WML which
is a very specific thing to match, then we try JavaScript, PDF and SWF
(also very specific) and finally we\'ll try to parse using the HTMLParser
which will return True to "can_parse" in lots of cases (even when we\'re
unsure that the response is really an HTML document).'

def __init__(self, http_resp):

    self._parser = None
    self._response_repr = None
    if http_resp.is_image():
        msg = 'There    is    no    parser    for    images.'
        raise BaseFrameworkException(msg)
    for parser in self.PARSERS:
        if parser.can_parse(http_resp):
            self._parser = parser(http_resp)
            self._parser.parse()
            self._response_repr = repr(http_resp)
            break
    if (self._parser is None):
        msg = ('There    is    no    parser    for    "%s".' % http_resp.get_url())
        raise BaseFrameworkException(msg)
