2023-08-27, 21:37
  #61
Medlem
Citat:
Ursprungligen postat av Enterprise
Som sagt tidigare i tråden cirka 200K rader baserat på den data som fanns uppe tidigare idag.
Så du kanske bör justera parametrarna för att smalna ner det lite?
Alltså ändra dessa rader i skriptet:
Kod:
pmin = 500  # golv-nivå för totalt antal streck
pmax = 550  # tak-nivå för totalt antal streck

Ja, det är ju enkelt att smalna av intervallet, men får du ut rader ändå nu utan att det går att hämta streckfördelningen ?
Citera
2023-08-27, 21:39
  #62
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Mysadname
Ja, det är ju enkelt att smalna av intervallet, men får du ut rader ändå nu utan att det går att hämta streckfördelningen ?
Vad menar du, jag får ut fler än 200 000 rader i form av en CSV-fil som går utmärkt att importera i Excel?
Lite oklart vad man ska den till sen, bara?

Edit: Nej, jag kan inte köra detta nya skript just nu (finns ingen data), utan då hade jag sparat streckfördelningen från tidigare idag i en textfil (gamla sättet)
Citera
2023-08-27, 23:26
  #63
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Mysadname
Blir intressant att testa när de väl släpper nya streckfördelningen, vad får du för resultat om du kör det nu ?
Nu finns det data uppe igen!

Jag körde nu ett intervall på 100-150 streck och fick då ner det till överkomliga 181 rader.
Det här Sömmerskesystemet som vi nu gemensamt har tagit fram lär ge stora pengar vid vinst, men å andra sidan lär det väl aldrig slå in

Edit: Kul att man kan lämna in externa system till Svenska Spel genom textfil. Skriptet kan modifieras för att istället fixa såna här rader. Säg till bara om behov finns!
https://spela.svenskaspel.se/europatipset/externa-systemspel
__________________
Senast redigerad av Enterprise 2023-08-27 kl. 23:40.
Citera
2023-08-28, 06:31
  #64
Medlem
Citat:
Ursprungligen postat av Enterprise
Nu finns det data uppe igen!

Jag körde nu ett intervall på 100-150 streck och fick då ner det till överkomliga 181 rader.
Det här Sömmerskesystemet som vi nu gemensamt har tagit fram lär ge stora pengar vid vinst, men å andra sidan lär det väl aldrig slå in

Edit: Kul att man kan lämna in externa system till Svenska Spel genom textfil. Skriptet kan modifieras för att istället fixa såna här rader. Säg till bara om behov finns!
https://spela.svenskaspel.se/europatipset/externa-systemspel

Jag får fortfarande det inte att fungera, borde jag inte hitta en fil på datorn som heter tips.csv ?

Följande 9 error får jag:
ModuleNotFoundError: No module named 'requests'
NameError: name 'requests' is not defined
NameError: name 'response' is not defined
NameError: name 'html_content' is not defined
NameError: name 'match' is not defined
NameError: name 'json_str' is not defined
NameError: name 'json_obj' is not defined
NameError: name 'gameDict' is not defined
NameError: name 'gameKeys' is not defined

Annars är det just egna rader som är målet att få till, men då behöver jag ju först få ordning att kunna få ut rader, men vad behöver jag göra mer än bara köra scriptet ?
Citera
2023-08-28, 07:21
  #65
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Mysadname
Jag får fortfarande det inte att fungera, borde jag inte hitta en fil på datorn som heter tips.csv ?

Följande 9 error får jag:
ModuleNotFoundError: No module named 'requests'
NameError: name 'requests' is not defined
NameError: name 'response' is not defined
NameError: name 'html_content' is not defined
NameError: name 'match' is not defined
NameError: name 'json_str' is not defined
NameError: name 'json_obj' is not defined
NameError: name 'gameDict' is not defined
NameError: name 'gameKeys' is not defined

Annars är det just egna rader som är målet att få till, men då behöver jag ju först få ordning att kunna få ut rader, men vad behöver jag göra mer än bara köra scriptet ?
Hmm. Jag trodde att requests var standard inbyggt, men det är det nog inte.

Prova att installera requests:

https://www.geeksforgeeks.org/how-to-install-requests-in-python-for-windows-linux-mac/amp/
Citera
2023-08-28, 07:36
  #66
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Enterprise
Hmm. Jag trodde att requests var standard inbyggt, men det är det nog inte.

Prova att installera requests:

https://www.geeksforgeeks.org/how-to-install-requests-in-python-for-windows-linux-mac/amp/

Jag ska pula med skriptet så att du (Mysadname) kan få välja en CSV-fil eller textfil till Svenska Spel.
Citera
2023-08-28, 07:39
  #67
Medlem
Citat:
Ursprungligen postat av Enterprise
Hmm. Jag trodde att requests var standard inbyggt, men det är det nog inte.

Prova att installera requests:

https://www.geeksforgeeks.org/how-to-install-requests-in-python-for-windows-linux-mac/amp/

Får testa det, först iväg och slita
Citera
2023-08-28, 08:26
  #68
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Mysadname
Får testa det, först iväg och slita
Nu har jag gjort om skriptet för att kunna skapa både CSV och TXT-fil.

Kod:
import requests
import re
import json

import itertools
import sys

pmin = int(input("Golvnivå för antal streck (t.ex. 500)? "))
pmax = int(input("Taknivå för antal streck (t.ex. 550)? "))

mde = int(input("Tryck 1 för text-fil och 2 för CSV-fil: "))

if not (mde == 1 or mde == 2):
	print ("Endast 1 eller 2 möjliga val. Avbryter.")
	quit()

url = "https://spela.svenskaspel.se/europatipset"
outfile = "tips.csv" # namn för din output-fil CSV
outtxt = "tips.txt" # namn för din output-fil TXT

if mde == 1:
	outfile = outtxt

response = requests.get(url)
html_content = response.text

pattern = r'_svs\.tipsen\.data\.preloadedState\s*=\s*(\{.*\});'
match = re.search(pattern, html_content)
json_str = match.group(1)
json_obj = json.loads(json_str)
gameDict = json_obj["EventTypeStatistic"]
gameKeys = list(dict.keys(gameDict))

signlists = []
for _ in range(0,3):
	signlists.append(list())

for gameKey in gameKeys:
	game = gameDict[gameKey]["distributions"]["2"]["Global"]["current"]["value"]
	for ix,perc in enumerate(game):
		signlists[ix].append(int(perc))


P = { "1": signlists[0], "X": signlists[1], "2": signlists[2] } 

rows = itertools.product(*(['1X2'] * 13))

cn = 0

with open(outfile, 'w') as f:  
	for row in rows:
		percentage = sum(P[result][n] for (n, result) in enumerate(row))
		
		if percentage >= pmin and percentage <= pmax:
			cn += 1
			if mde==1:
				f.write("E,"+','.join(row)+"\n")
			if mde==2:
				f.write(','.join(row + (str(percentage),))+"\n")

print(f"{outfile} skapad med {cn} rader!")
__________________
Senast redigerad av Enterprise 2023-08-28 kl. 08:29.
Citera
2023-08-28, 12:37
  #69
Medlem
Citat:
Ursprungligen postat av Enterprise
Nu har jag gjort om skriptet för att kunna skapa både CSV och TXT-fil.

Kod:
import requests
import re
import json

import itertools
import sys

pmin = int(input("Golvnivå för antal streck (t.ex. 500)? "))
pmax = int(input("Taknivå för antal streck (t.ex. 550)? "))

mde = int(input("Tryck 1 för text-fil och 2 för CSV-fil: "))

if not (mde == 1 or mde == 2):
	print ("Endast 1 eller 2 möjliga val. Avbryter.")
	quit()

url = "https://spela.svenskaspel.se/europatipset"
outfile = "tips.csv" # namn för din output-fil CSV
outtxt = "tips.txt" # namn för din output-fil TXT

if mde == 1:
	outfile = outtxt

response = requests.get(url)
html_content = response.text

pattern = r'_svs\.tipsen\.data\.preloadedState\s*=\s*(\{.*\});'
match = re.search(pattern, html_content)
json_str = match.group(1)
json_obj = json.loads(json_str)
gameDict = json_obj["EventTypeStatistic"]
gameKeys = list(dict.keys(gameDict))

signlists = []
for _ in range(0,3):
	signlists.append(list())

for gameKey in gameKeys:
	game = gameDict[gameKey]["distributions"]["2"]["Global"]["current"]["value"]
	for ix,perc in enumerate(game):
		signlists[ix].append(int(perc))


P = { "1": signlists[0], "X": signlists[1], "2": signlists[2] } 

rows = itertools.product(*(['1X2'] * 13))

cn = 0

with open(outfile, 'w') as f:  
	for row in rows:
		percentage = sum(P[result][n] for (n, result) in enumerate(row))
		
		if percentage >= pmin and percentage <= pmax:
			cn += 1
			if mde==1:
				f.write("E,"+','.join(row)+"\n")
			if mde==2:
				f.write(','.join(row + (str(percentage),))+"\n")

print(f"{outfile} skapad med {cn} rader!")
Tänk om det var hemgång snart, Nåväl, skulle man kunna konvertera oddsen och använda det istället för streckprocenten, det kommer nog att bli väldigt många rader annars
Citera
2023-08-28, 14:27
  #70
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Mysadname
Tänk om det var hemgång snart, Nåväl, skulle man kunna konvertera oddsen och använda det istället för streckprocenten, det kommer nog att bli väldigt många rader annars
Arbete är sin egen belöning

Nu har jag faktiskt testat skriptet även på en Windows-burk, men då med en Anaconda-installation (som innehåller requests "out of the box"). Det gick utmärkt.

I intervallet 200-250 streck med dagens data så renderas nu 5265 rader. Svenska Spels limit är 10 000 rader per spel om jag förstår det.
Citera
2023-08-28, 14:39
  #71
Medlem
Citat:
Ursprungligen postat av Enterprise
Arbete är sin egen belöning

Nu har jag faktiskt testat skriptet även på en Windows-burk, men då med en Anaconda-installation (som innehåller requests "out of the box"). Det gick utmärkt.

I intervallet 200-250 streck med dagens data så renderas nu 5265 rader. Svenska Spels limit är 10 000 rader per spel om jag förstår det.

Ja, men 1kr per rad så vill man ju få ner kostnaden. Hur många får du ut på intervallet 540-550 ?
Citera
2023-08-28, 15:03
  #72
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Mysadname
Ja, men 1kr per rad så vill man ju få ner kostnaden. Hur många får du ut på intervallet 540-550 ?
203 532 st (sorry det var 500-550)
540-550 är över 32 000 rader.

Om man drar ned till 200-225 streck så blir det (just nu) 96 rader. Ett lagom hundralappssystem alltså.
__________________
Senast redigerad av Enterprise 2023-08-28 kl. 15:07.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in