# coding=utf8 from __future__ import unicode_literals, absolute_import, division, print_function """A way to search google""" import requests from fake_useragent import UserAgent # TODO add a cache flush class Google(): def __init__(self): self.cache = { "info": {}, "maps": {} } def search(self, searchterm, searchtype="info"): # losercase searching searchterm = searchterm.lower() """ safe='off', """ # check cache if searchtype not in list(self.cache.keys()): self.cache[searchtype] = dict() if searchterm in self.cache[searchtype]: return self.cache[searchtype][searchterm] header = {'User-Agent': str(UserAgent().chrome)} data = searchterm.replace(' ', '+') lookfor = data.replace(':', '%3A') try: if searchtype == 'info': url = "http://www.google.com" elif searchtype == 'maps': url = "http://www.google.com" elif searchtype == 'youtube': url = "https://www.youtube.com" else: url = "http://www.google.com" query = {'q': searchterm} if searchtype == 'maps': var = requests.get(r'http://www.google.com/maps/place/' + lookfor, headers=header) else: var = requests.get(url, params=query) except Exception as e: var = e var = None if not var or not var.url: return None else: self.cache[searchtype][searchterm] = str(var.url) return var.url google = Google()