<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def evaluate_scpd_xml(url):
 """ Get and evaluate SCPD XML to identified URLs. Returns dictionary with keys "host", "modelName", "friendlyName" and "presentationURL" if a Denon AVR device was found and "False" if not. """

    # Get SCPD XML via HTTP GET
    try:
        res = requests.get(url, timeout=2)
    except requests.exceptions.RequestException as err:
        _LOGGER.error(
            "When trying to request %s the following error occurred: %s",
            url, err)
        raise ConnectionError

    if res.status_code == 200:
        try:
            root = ET.fromstring(res.text)
            # Look for manufacturer "Denon" in response.
            # Using "try" in case tags are not available in XML
            _LOGGER.debug("Device %s has manufacturer %s", url,
                          root.find(SCPD_DEVICE).find(SCPD_MANUFACTURER).text)
            if (root.find(SCPD_DEVICE).find(
                    SCPD_MANUFACTURER).text in SUPPORTED_MANUFACTURERS and
                    root.find(SCPD_DEVICE).find(
                        SCPD_DEVICETYPE).text == DEVICETYPE_DENON):
                device = {}
                device["host"] = urlparse(
                    root.find(SCPD_DEVICE).find(
                        SCPD_PRESENTATIONURL).text).hostname
                device["presentationURL"] = (
                    root.find(SCPD_DEVICE).find(SCPD_PRESENTATIONURL).text)
                device["modelName"] = (
                    root.find(SCPD_DEVICE).find(SCPD_MODELNAME).text)
                device["friendlyName"] = (
                    root.find(SCPD_DEVICE).find(SCPD_FRIENDLYNAME).text)
                return device
            else:
                return False
        except (AttributeError, ValueError, ET.ParseError) as err:
            _LOGGER.error(
                "Error occurred during evaluation of SCPD XML: %s", err)
            return False
    else:
        _LOGGER.error("Host returned HTTP status %s when connecting to %s",
                      res.status_code, url)
        raise ConnectionError