def METHOD_NAME(self, lyrics):
    utilities.log(debug, "%s: searching lyrics for %s - %s - %s" % (__title__, lyrics.artist, lyrics.album, lyrics.title))
    try:
        from bs4 import BeautifulSoup
    except:
        utilities.log(True, "Failed to import BeautifulSoup. This grabber requires python-bs4")
        return False
    try:
        request = urlopen(self.url % quote_plus(lyrics.artist))
        response = request.read()
    except:
        return False
    request.close()
    soup = BeautifulSoup(response, 'html.parser')
    url = ''
    for link in soup.find_all('a'):
        if link.string and link.get('href').startswith('artist/'):
            url = 'http://www.lyrics.com/' + link.get('href')
            break
    if url:
        utilities.log(debug, "%s: Artist url is %s"  % (__title__, url))
        try:
            req = urlopen(url)
            resp = req.read().decode('utf-8')
        except:
            return False
        req.close()
        soup = BeautifulSoup(resp, 'html.parser')
        url = ''
        for link in soup.find_all('a'):
            if link.string and link.get('href').startswith('/lyric/') and (difflib.SequenceMatcher(None, link.string.lower(), lyrics.title.lower()).ratio() > 0.8):
                url = 'http://www.lyrics.com' + link.get('href')
                break
        if url:
            utilities.log(debug, "%s: Song url is %s"  % (__title__, url))
            try:
                req2 = urlopen(url)
                resp2 = req2.read().decode('utf-8')
            except:
                return False
            req2.close()
            matchcode = re.search(u'<pre.*?>(.*?)</pre>', resp2, flags=re.DOTALL)
            if matchcode:
                lyricscode = (matchcode.group(1))
                lyr = re.sub(u'<[^<]+?>', '', lyricscode)
                lyrics.lyrics = lyr.replace('\\n','\n')
                return True
        return False