def main(): banner() ''' command line option parser ''' option_parser = optparse.OptionParser() option_parser.usage = \ """ search_register.py -e [email] [options] search_register.py -c [cellphone] [options]""" option_parser.add_option('-e', '--email', dest='email', action='store',default=None) option_parser.add_option('-c', '--cellphone', dest='cellphone', action='store',default=None) option_parser.add_option('-t', '--thread', dest='thread', action='store', default=1,help="") """ parse options """ (options, args) = option_parser.parse_args() """ new logger object """ logger = Logger(5) """ specific the search type (email or cellphone) """ email = options.email cellphone = options.cellphone if email: task_list = Tasktable('email').tasklist target = email query_method = "email" else: if cellphone: task_list = Tasktable('cellphone').tasklist target = cellphone query_method = "cellphone" else: option_parser.error("must specify email OR cellphone") return logger.info("search websites registered using "+query_method +":"+target) spider = Spider(task_list,target,query_method,logger) spider.controller()
class Harvester: # API Endpoints _BASE_URL_PATH = 'https://na1.api.riotgames.com/lol' _CHALLENGER_PATH = _BASE_URL_PATH + '/league/v3/challengerleagues/by-queue/' _MATCH_PATH = _BASE_URL_PATH + '/match/v3/' _SUMMONER_PATH = _BASE_URL_PATH + '/summoner/v3/summoners/' # Total matches to fetch TOTAL_MATCHES = 1000 def __init__(self): # Load config for defaults & key self.config_manager = Config().get_instance() self.api_key = self.config_manager.get_api_key() self.logger = Logger() def make_request(self, path, payload=None): """ Make request to Riot API Developer endpoint with optional data :param path: endpoint to query :param payload: optional parameters to send with the request :return: """ try: if payload is None: payload = {'api_key': self.api_key} else: payload['api_key'] = self.api_key response = requests.get(path, params=payload) self.logger.info(path + str(response)) response.raise_for_status() return response.json() except requests.exceptions.RequestException: return None def get_challenger_path(self): return self._CHALLENGER_PATH def get_match_path(self): return self._MATCH_PATH def get_summoner_path(self): return self._SUMMONER_PATH def get_total_matches(self): return self.TOTAL_MATCHES