def dimapi(url, api): # REVIEW try: uri = Urlattributes(api) raw = uri.gettext() # result = literal_eval(raw[1:-2]) return raw except WebcredError: raise WebcredError("Give valid API") except: return 'NA'
def getWot(url): if not isinstance(url, Urlattributes): url = Urlattributes(url) result = ("http://api.mywot.com/0.4/public_link_json2?hosts=" + url.geturl() + "/&callback=&key=d60fa334759ae377ceb9cd679dfa22aec57ed998") uri = Urlattributes(result) raw = uri.gettext() result = literal_eval(raw[1:-4]) result = str(result).split(']')[0].split('[')[-1].split(',') data = None if isinstance(result, list) and len(result) == 2: data = {} data['reputation'] = int(result[0]) data['confidence'] = int(result[1]) return data
def googleinlink(url): API_KEY = os.environ.get('Google_API_KEY') inlinks = None try: # keyword link is used in search query to search only hyperlinks uri = ('https://www.googleapis.com/customsearch/v1?key=' + API_KEY + '&cx=017576662512468239146:omuauf_lfve&q=link:' + url.getoriginalurl()) uri = Urlattributes(uri) txt = uri.gettext() for line in txt.splitlines(): if "totalResults" in line: break inlinks = int(re.sub("[^0-9]", "", line)) except Exception: # Get current system exception ex_type, ex_value, ex_traceback = sys.exc_info() # Extract unformatter stack traces as tuples trace_back = traceback.extract_tb(ex_traceback) # Format stacktrace stack_trace = list() for trace in trace_back: stack_trace.append( "File : %s , Line : %d, Func.Name : %s, Message : %s" % (trace[0], trace[1], trace[2], trace[3])) # print("Exception type : %s " % ex_type.__name__) logger.info('Inlinks error {}'.format(ex_value)) logger.debug(stack_trace) return inlinks