<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fetch_lid(self, woeid):
 """Fetch a location's corresponding LID. Args: woeid: (string) the location's WOEID. Returns: a string containing the requested LID or None if the LID could not be found. Raises: urllib.error.URLError: urllib.request could not open the URL (Python 3). urllib2.URLError: urllib2 could not open the URL (Python 2). xml.etree.ElementTree.ParseError: xml.etree.ElementTree failed to parse the XML document. """

        rss = self._fetch_xml(LID_LOOKUP_URL.format(woeid, "f"))

        # We are pulling the LID from the permalink tag in the XML file
        # returned by Yahoo.

        try:
            link = rss.find("channel/link").text
        except AttributeError:
            return None

        # use regex or string.split
        # regex assumes the format XXXXNNNN for the LID.
        # string.split works more general of the context.

        lid = re.search("[A-Za-z]{4}[0-9]{4}", link).group()
        # lid = link.split("/forecast/")[1].split("_")[0]

        return lid