def METHOD_NAME(data, artist, album):
    data = data.decode('utf-8')
    albums = []
    albumlist = re.findall('class="album">\s*(.*?)\s*</li', data, re.S)
    for item in albumlist:
        albumdata = {}
        albumartist = re.search('class="artist">.*?>(.*?)</a', item, re.S)
        if albumartist:
            albumdata['artist'] = albumartist.group(1)
        else: # classical album
            continue
        albumname = re.search('class="title">.*?>(.*?)</a', item, re.S)
        if albumname:
            albumdata['album'] = albumname.group(1)
        else: # not likely to happen, but just in case
            continue
        # filter inaccurate results
        artistmatch = difflib.SequenceMatcher(None, artist.lower(), albumdata['artist'].lower()).ratio()
        albummatch = difflib.SequenceMatcher(None, album.lower(), albumdata['album'].lower()).ratio()
        if artistmatch > 0.90 and albummatch > 0.90:
            albumurl = re.search('class="title">\s*<a href="(.*?)"', item)
            if albumurl:
                albumdata['url'] = albumurl.group(1)
            else: # not likely to happen, but just in case
                continue
            albums.append(albumdata)
            # we are only interested in the top result
            break
    return albums