pretrehr / Sports-betting

Sports betting assistant (with interface) which optimizes earnings regarding odds and offers
MIT License
429 stars 92 forks source link

Le problème de la collecte des résultats #7

Closed strikekormoran closed 3 years ago

strikekormoran commented 3 years ago

Bonne journée.

Merci pour votre bon travail. Il y a eu quelques difficultés. Je ne suis pas très doué en programmation, dites-moi la solution à cette erreur.

Jusqu'à la nouvelle année, j'ai utilisé votre programme sans problème, maintenant ce qui suit est apparu, regardez


Traceback (most recent call last): File "C:\Users\root\sport\sportsbetting\user_functions.py", line 159, in parse_competitions list_odds = ThreadPool(7).map(lambda x: parse_competitions_site(competitions, sport, x), sites) File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 364, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 771, in get raise self._value File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, *kwds)) File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(args)) File "C:\Users\root\sport\sportsbetting\user_functions.py", line 159, in list_odds = ThreadPool(7).map(lambda x: parse_competitions_site(competitions, sport, x), sites) File "C:\Users\root\sport\sportsbetting\user_functions.py", line 104, in parse_competitions_site list_odds.append(parse_competition(competition, sport, site)) File "C:\Users\root\sport\sportsbetting\user_functions.py", line 91, in parse_competition res = format_team_names(res_parsing, sport, competition) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 143, in format_team_names list_odds.append(adapt_names(dict_odds[site], site, sport, competition)) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 127, in adapt_names add_matches_to_db(odds, sport, site, id_competition) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 49, in add_matches_to_db teams = set(chain.from_iterable(list(map(lambda x: x.split(" - "), list(matches))))) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 49, in teams = set(chain.from_iterable(list(map(lambda x: x.split(" - "), list(matches))))) AttributeError: 'NoneType' object has no attribute 'split'


Merci d'avoir résolu ma question.

strikekormoran commented 3 years ago

Pour une raison quelconque, seul betclic fonctionne. Le reste des bookmakers ne fonctionne pas. Pouvez-vous résoudre ce problème?

strikekormoran commented 3 years ago

France - Ligue 1 non disponible sur zebet Espagne - LaLiga pasinobet Espagne - LaLiga betclic Espagne - LaLiga joa France - Ligue 1 joa France - Ligue 1 betclic Aucun pari prématch disponible Espagne - LaLiga betstars Aucun pari prématch disponible France - Ligue 1 betstars Aucun pari prématch disponible Traceback (most recent call last): File "C:\Users\root\sport\sportsbetting\user_functions.py", line 159, in parse_competitions list_odds = ThreadPool(7).map(lambda x: parse_competitions_site(competitions, sport, x), sites) File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 364, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 771, in get raise self._value File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, *kwds)) File "C:\Users\root\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(args)) File "C:\Users\root\sport\sportsbetting\user_functions.py", line 159, in list_odds = ThreadPool(7).map(lambda x: parse_competitions_site(competitions, sport, x), sites) File "C:\Users\root\sport\sportsbetting\user_functions.py", line 104, in parse_competitions_site list_odds.append(parse_competition(competition, sport, site)) File "C:\Users\root\sport\sportsbetting\user_functions.py", line 91, in parse_competition res = format_team_names(res_parsing, sport, competition) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 143, in format_team_names list_odds.append(adapt_names(dict_odds[site], site, sport, competition)) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 127, in adapt_names add_matches_to_db(odds, sport, site, id_competition) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 49, in add_matches_to_db teams = set(chain.from_iterable(list(map(lambda x: x.split(" - "), list(matches))))) File "C:\Users\root\sport\sportsbetting\auxiliary_functions.py", line 49, in teams = set(chain.from_iterable(list(map(lambda x: x.split(" - "), list(matches))))) AttributeError: 'NoneType' object has no attribute 'split'

pretrehr commented 3 years ago

Pouvez-vous me donner la liste des compétitions et des bookmakers dont vous essayez de récupérer les cotes ? (pour que je puisse essayer de reproduire l'erreur que vous obtenez) Il faut également savoir que certains bookmakers ne sont accessibles qu'en France. Pensez à vérifier que les différents bookmakers qui vous intéressent sont bien accessibles depuis votre pays si vous n'êtes pas Français. Ou sinon, vous pouvez toujours utiliser un VPN pour vous relocaliser en France.

strikekormoran commented 3 years ago

Je vous ai compris. Mais j'obtiens la même chose même d'une machine AWS distante. VPN utilisé, aucun résultat. 7

strikekormoran commented 3 years ago

Je choisis toute la liste des bookmakers, mais un seul est disponible (betclick) et d'ailleurs il n'est pas disponible depuis mon pays sans VPN. Très étrange. Je vais maintenant essayer sur un serveur distant et envoyer une autre capture d'écran.

strikekormoran commented 3 years ago

Une telle erreur sur le serveur distant.


Traceback (most recent call last): File "C:\Users\Administrator\sport\sportsbetting\user_functions.py", line 159, in parse_competitions list_odds = ThreadPool(7).map(lambda x: parse_competitions_site(competitions, sport, x), sites) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 364, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 771, in get raise self._value File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, *kwds)) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\multiprocessing\pool.py", line 48, in mapstar return list(map(args)) File "C:\Users\Administrator\sport\sportsbetting\user_functions.py", line 159, in list_odds = ThreadPool(7).map(lambda x: parse_competitions_site(competitions, sport, x), sites) File "C:\Users\Administrator\sport\sportsbetting\user_functions.py", line 104, in parse_competitions_site list_odds.append(parse_competition(competition, sport, site)) File "C:\Users\Administrator\sport\sportsbetting\user_functions.py", line 68, in parse_competition res_parsing[site] = parse(site, url) File "C:\Users\Administrator\sport\sportsbetting\parser_functions.py", line 981, in parse return parse_functionssite File "C:\Users\Administrator\sport\sportsbetting\parser_functions.py", line 829, in parse_unibet odds = list(map(lambda x: float(x.text), File "C:\Users\Administrator\sport\sportsbetting\parser_functions.py", line 829, in odds = list(map(lambda x: float(x.text), ValueError: could not convert string to float: ''


pretrehr commented 3 years ago

Maintenant, essayez de faire la même chose sans sélectionner Unibet, ça devrait fonctionner. (vous n'avez pas de chance, Unibet vient juste de modifier le code de sa page web aujourd'hui, il faut que j'adapte mon code pour corriger l'erreur)

strikekormoran commented 3 years ago

Tout a bien fonctionné sur le serveur distant. Mais il semble que vous deviez vous séparer du VPN, les bureaux le découvrent. Ou piquez un VPN fiable. Merci beaucoup de fournir un soutien aussi digne de votre produit. Je vous souhaite plus de succès et de prospérité!

Nous attendons la correction d'erreur.

pretrehr commented 3 years ago

Merci pour votre message 😃

Le problème avec Unibet devrait être résolu maintenant.

strikekormoran commented 3 years ago

Je vous remercie. Je te souhaite du succès!