(search, unsafe=False)
return ""
given a search string, return a gif URL via google search
given a search string, return a gif URL via google search
given a search string return a gif URL via google search
def gif(search, unsafe=False):
    """given a search string, return a gif URL via google search"""
    searchb = quote(search.encode("utf8"))

    safe = "&safe=" if unsafe else "&safe=active"
    searchurl = "https://www.google.com/search?tbs=itp:animated&tbm=isch&q={0}{1}".format(
        searchb, safe
    )

    # this is an old iphone user agent. Seems to make google return good results.
    useragent = (
        "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us)"
        " AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"
    )

    result = requests.get(searchurl, headers={"User-agent": useragent}).text

    gifs = list(map(unescape, re.findall(r"imgres[?]imgurl=(.*?)&amp;", result)))
    shuffle(gifs)

    if gifs:
        return gifs[0]
    return ""
def gif ( search , unsafe = False ) : searchb = quote ( search . encode ( "utf8" ) ) safe = "&safe=" if unsafe else "&safe=active" searchurl = "https://www.google.com/search?tbs=itp:animated&tbm=isch&q={0}{1}" . format ( searchb , safe ) # this is an old iphone user agent. Seems to make google return good results. useragent = ( "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us)" " AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7" ) result = requests . get ( searchurl , headers = { "User-agent" : useragent } ) . text gifs = list ( map ( unescape , re . findall ( r"imgres[?]imgurl=(.*?)&amp;" , result ) ) ) shuffle ( gifs ) if gifs : return gifs [ 0 ] return ""