def add_names_to_db(competition, sport="football", *sites): """ Ajoute à la base de données les noms d'équipe/joueur pour une competition donnée sur tous les sites """ try: id_competition, formated_name = get_id_formated_competition_name( competition, sport) except TypeError: print("Competition inconnue") return {} print(formated_name) if competition == sport or "Tout le" in competition: import_teams_by_sport(sport) else: import_teams_by_url("http://www.comparateur-de-cotes.fr/comparateur/" + sport + "/a-ed" + str(id_competition)) if not sites: sites = [ 'betclic', 'betstars', 'bwin', 'france_pari', 'joa', 'netbet', 'parionssport', 'pasinobet', 'pmu', 'unibet', 'winamax', 'zebet' ] selenium_sites = { "betstars", "bwin", "joa", "parionssport", "pasinobet", "unibet" } selenium_required = (inspect.currentframe().f_back.f_code.co_name == "<module>" and (selenium_sites.intersection(sites) or not sites)) if selenium_required: selenium_init.start_selenium() for site in sites: print(site) url = get_competition_url(competition, sport, site) if url: try: teams = parse_and_add_to_db(site, sport, url) if teams: sportsbetting.TEAMS_NOT_FOUND.append(teams) except KeyboardInterrupt: start = time.time() print("Recommencez pour arrêter le parsing") while time.time() - start < 0.5: time.sleep(0.5) except urllib3.exceptions.MaxRetryError: selenium_init.DRIVER.quit() print("Redémarrage de selenium") selenium_init.start_selenium() teams = parse_and_add_to_db(site, sport, url) if teams: sportsbetting.TEAMS_NOT_FOUND.append(teams) except selenium.common.exceptions.TimeoutException: pass except urllib.error.HTTPError: pass if selenium_required: selenium_init.DRIVER.quit()
def parse_buteurs(): """ Stocke les cotes des duels de buteurs disponibles sur Betclic """ competitions = ["france ligue 1", "espagne liga", "italie serie", "allemagne bundesliga"] list_odds = [] for competition in competitions: print(get_id_formatted_competition_name(competition, "football")[1]) url = get_competition_url(competition, "football", "betclic") list_odds.append(parse_buteurs_betclic(url)) if inspect.currentframe().f_back.f_code.co_name != "<module>": return merge_dicts(list_odds) sportsbetting.ODDS["buteurs"] = merge_dicts(list_odds)
def parse_buteurs(): """ Stocke les cotes des duels de buteurs disponibles sur Betclic """ competitions = [ "france ligue 1", "espagne liga", "italie serie", "allemagne bundesliga" ] list_odds = [] for competition in competitions: print(get_id_formated_competition_name(competition, "football")[1]) url = get_competition_url(competition, "football", "betclic") list_odds.append(parse_buteurs_betclic(url)) if inspect.currentframe().f_back.f_code.co_name == "<module>": try: toaster = ToastNotifier() toaster.show_toast("Sports-betting", "Fin du parsing") except NameError: subprocess.Popen(['notify-send', "Fin du parsing"]) if inspect.currentframe().f_back.f_code.co_name != "<module>": return merge_dicts(list_odds) sportsbetting.ODDS["buteurs"] = merge_dicts(list_odds)