2024-03-07, 22:36
  #1
Medlem
Mitt problem är att nån behöver scrapa svenska spel för att min sida ska fungera .

Kort förklarat så handlar det om liverättning och jag måste få tillgång till uppdateringar om mål på svenska spel .

Mina förutsättningar .

Har en websida på Miss Hosting som inte tillhandahåller Node Js . Det språket trodde jag att det skulle fixa alla mina problem men inte . Har knappt lärt mig nått av det språket innan jag förstod att det inte skulle hjälpa mig .

Däremot har jag lärt mig grunderna i python och selenium . Så just nu ser mitt upplägg ut så här .

Selenium scrapar Svenska Spel , sen scrapar den min sida och fyller i allt som den scrapat från svsp på min sida . Det fungerar perfekt .

Problemet är bara att mina datorer är beroende av internet för att den lösningen ska fungera . Och min enda uppkoppling är på min telefon som jag tar med mig när jag åker hemmifrån . Och programmet behöver scrapeuppdateringar typ varje minut dygnet runt .

Det borde finnas en lösning . Nån som kan vägleda mig ?

En av sidor som jag vill scrapa .

https://spela.svenskaspel.se/topptip...3-07/statistik

Min sida dit allt fylls i

https://tipzer.se/skrivatillpyton.html

Min sida där allt ska fungera när man klickar starta rättning (det gör det inte nu . Europatipset fungerar , om man vill se vad för data jag vill ha hem .)

https://tipzer.se/topptipset.php

Min nuvarande python kod .

Kod:
from selenium import webdriver
from selenium
.webdriver.common.by import By
from selenium
.webdriver.common.keys import Keys
import time
import sys
 
browser 
webdriver.Firefox()
wbrowserwebdriver.Firefox()
browser.get('https://spela.svenskaspel.se/europatipset/resultat')
wbrowser.get("https://tipzer.se/skrivatilleu.html")
time.sleep(20)
st=browser.find_element(By.XPATH,'//*[@id="onetrust-accept-btn-handler"]')
st.click() 
for 
a in range(10):
    print (
a)
    
time.sleep(10)
    
res1=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[1]/a/div[3]").text
    res2
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[2]/a/div[3]").text
    res3
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[3]/a/div[3]").text
    res4
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[4]/a/div[3]").text
    res5
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[5]/a/div[3]").text
    res6
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[6]/a/div[3]").text
    res7
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[7]/a/div[3]").text
    res8
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[8]/a/div[3]").text
    res9
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[9]/a/div[3]").text
    res10
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[10]/a/div[3]").text
    res11
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[11]/a/div[3]").text
    res12
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[12]/a/div[3]").text
    res13
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/div[13]/a/div[3]").text
    
print (res1,"\n",res2,"\n",res3,"\n",res4,"\n",res5,"\n",res6,"\n",res7,"\n",res8,"\n",res9,"\n",res10,"\n",res11,"\n",res12,"\n",res13,"\n","\n")
    
utd13=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[3]/div[2]/section/div/ol/li[1]/span[2]").text
    utd12
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[3]/div[2]/section/div/ol/li[2]/span[2]").text
    utd11
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[3]/div[2]/section/div/ol/li[3]/span[2]").text
    utd10
=browser.find_element(By.XPATH,"/html/body/div[3]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[3]/div[2]/section/div/ol/li[4]/span[2]").text
    
print(utd13,"\n",utd12,"\n",utd11,"\n",utd10,"\n")
    
pyton=wbrowser.find_element(By.ID,"res")
    
pyton.send_keys(res1,"*",res2,"*",res3,"*",res4,"*",res5,"*",res6,"*",res7,"*",res8,"*",res9,"*",res10,"*",res11,"*",res12,"*",res13,"*")
    
pyton=wbrowser.find_element(By.ID,"utd")
    
pyton.send_keys(utd13,"*",utd12,"*",utd11,"*",utd10)
    
pyton=wbrowser.find_element(By.ID,"pp"

Jag tjänar ingenting på sidan så det är inte ett alternativ att sitta hemma och upplåta internet åt sidan . Nån som har en lösning ????
Citera
2024-03-07, 22:37
  #2
Medlem
styckets avatar
Du får köpa dig en server kan kosta runt en 100lapp i månaden.
Citera
2024-03-07, 22:50
  #3
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av UHJ
Problemet är bara att mina datorer är beroende av internet för att den lösningen ska fungera . Och min enda uppkoppling är på min telefon som jag tar med mig när jag åker hemmifrån . Och programmet behöver scrapeuppdateringar typ varje minut dygnet runt .
Vad ingår i ditt paket på Miss Hosting?
Ingår PHP? Ingår SSH och möjlighet att exekvera shell-script från din PHP-motor?
Du kan scrapa Svenska spel utan Selenium (jag har skrivit en del på det ämnet i Systemutvecklingsforumet), men givetvis går inte detta utan nätacess.

Om du bara behöver köra ett skript med jämna mellanrum så går det att rigga ett PHP-program för att köra ditt scraping-skript, så kan man använda en publik (gratis) cron-job-tjänst för att återkommande åberopa URL som triggar PHP-koden.
__________________
Senast redigerad av Enterprise 2024-03-07 kl. 22:52.
Citera
2024-03-07, 23:07
  #4
Medlem
Citat:
Ursprungligen postat av Enterprise
Vad ingår i ditt paket på Miss Hosting?
Ingår PHP? Ingår SSH och möjlighet att exekvera shell-script från din PHP-motor?
Du kan scrapa Svenska spel utan Selenium (jag har skrivit en del på det ämnet i Systemutvecklingsforumet), men givetvis går inte detta utan nätacess.

Om du bara behöver köra ett skript med jämna mellanrum så går det att rigga ett PHP-program för att köra ditt scraping-skript, så kan man använda en publik (gratis) cron-job-tjänst för att återkommande åberopa URL som triggar PHP-koden.

Jag är allt annat om kunnig om någonting . Men har lyckats skriva lite php-scripts som jag lagt in i cron . Det hade ju varit perfekt om man kunnat skriva ett scraping-script i php och lagt det som ett cron-job . Men funkar det ? Det var ju typ där jag började och fick ingenting att fungera .

Kan du länka till vart jag kan läsa om vad du skrivit ?
Citera
2024-03-07, 23:14
  #5
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av UHJ
Jag är allt annat om kunnig om någonting . Men har lyckats skriva lite php-scripts som jag lagt in i cron . Det hade ju varit perfekt om man kunnat skriva ett scraping-script i php och lagt det som ett cron-job . Men funkar det ? Det var ju typ där jag började och fick ingenting att fungera .

Kan du länka till vart jag kan läsa om vad du skrivit ?
Finns en hel del i denna tråd.
(FB) Stryktipsrader utskrivna i Excel
Citera
2024-03-07, 23:44
  #6
Medlem
Citat:
Ursprungligen postat av Enterprise
Finns en hel del i denna tråd.
(FB) Stryktipsrader utskrivna i Excel
Tackar . En sån passande tråd

Är för trött för att läsa den just nu . Men svaret på första frågan som förhoppningsvis inte blir den sista i den tråden är

https://tipzer.se/mmall/M-13-0-1594323.txt

Det är ju en ganska stor textfil . Beroende på vad man ska ha det till så kanske det kan vara bättre att räkna ut den än att ha den som en textfil . Men jag har bestämt mig för att det finns fördelar som överväger att ha en färdig fil .

Annars ser väl koden ut typ att man har en array där [0] ökar med 1 varje gång och när den nått 2 så återgår den till 0 och [1] ökar sitt värde med ett osv och när [12] har värdet 3 så har man alla 1594323 rader .
Citera
2024-03-08, 06:44
  #7
Moderator
Protons avatar
0.02 - Trådstart och forumval.

Personlig utveckling, studier och arbetsliv --> Python
/Moderator
Citera
2024-03-08, 09:03
  #8
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av UHJ
Tackar . En sån passande tråd

Är för trött för att läsa den just nu . Men svaret på första frågan som förhoppningsvis inte blir den sista i den tråden är

https://tipzer.se/mmall/M-13-0-1594323.txt

Det är ju en ganska stor textfil . Beroende på vad man ska ha det till så kanske det kan vara bättre att räkna ut den än att ha den som en textfil . Men jag har bestämt mig för att det finns fördelar som överväger att ha en färdig fil .

Annars ser väl koden ut typ att man har en array där [0] ökar med 1 varje gång och när den nått 2 så återgår den till 0 och [1] ökar sitt värde med ett osv och när [12] har värdet 3 så har man alla 1594323 rader .
Själva iterationen är naturligtvis enkel, men det jag tänkte på var scraping-delarna.
Man behöver i dagsläget INTE använda Selenium för att scrapa Svenskaspel och därmed bör man inte heller använd Selenium eftersom det är långsamt och buggigt. Räcker med ett Python-skript som kör en HTTP request hos Svenska spels API-URL och "parsar" output.
Citera
2024-03-08, 17:14
  #9
Medlem
Citat:
Ursprungligen postat av Enterprise
Själva iterationen är naturligtvis enkel, men det jag tänkte på var scraping-delarna.
Man behöver i dagsläget INTE använda Selenium för att scrapa Svenskaspel och därmed bör man inte heller använd Selenium eftersom det är långsamt och buggigt. Räcker med ett Python-skript som kör en HTTP request hos Svenska spels API-URL och "parsar" output.
Läste detta imorse och tänkte att nu ska jag hem och programmera. Tyvärr hamna jag på fredagsfest . Så programmeringen får vänta tills imorgon .

Har läst halva tråden inatt . Om jag förstod rätt så går det att hämta request i Python och scrapa .

Svenska spels apier får man ju all info från men tyvärr finns inget api för liveresultat om jag förstår rätt .

Så där krävs att man skrapar sidan .

Är helt nybörjare på Python . Om jag skulle lyckas skriva ett skript i Python som hämtar hem den aktuella ställningen. Kan man lägga upp det scriptet i cron-job i c-panel ?

Jag är helt borta när jag måste lämna jQuery miljön tyvärr .

Men uppskattar dina vägledande svar .
Citera
2024-03-08, 20:07
  #10
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av UHJ
Läste detta imorse och tänkte att nu ska jag hem och programmera. Tyvärr hamna jag på fredagsfest . Så programmeringen får vänta tills imorgon .

Har läst halva tråden inatt . Om jag förstod rätt så går det att hämta request i Python och scrapa .

Svenska spels apier får man ju all info från men tyvärr finns inget api för liveresultat om jag förstår rätt .

Så där krävs att man skrapar sidan .

Är helt nybörjare på Python . Om jag skulle lyckas skriva ett skript i Python som hämtar hem den aktuella ställningen. Kan man lägga upp det scriptet i cron-job i c-panel ?

Jag är helt borta när jag måste lämna jQuery miljön tyvärr .

Men uppskattar dina vägledande svar .
Hmmm... jag kollade på Live-oddssidan och verkar som den använder Websockets för att liveuppdatera oddsen.
Så där är kanske enklast att använda Selenium eller liknande.
Du vet att du kan kontrollera Selenium också med Node JS, om du är mer bekväm med Javascript än med Python?
https://medium.com/dailyjs/how-to-se...t-ee33023da72d

Oavsett vilket skriptspråk du använder (Node JS eller Python) så kan du köra dessa skript med Cron job. Inget problem.
__________________
Senast redigerad av Enterprise 2024-03-08 kl. 20:10.
Citera
2024-03-09, 14:03
  #11
Medlem
Citat:
Ursprungligen postat av Enterprise
Hmmm... jag kollade på Live-oddssidan och verkar som den använder Websockets för att liveuppdatera oddsen.
Så där är kanske enklast att använda Selenium eller liknande.
Du vet att du kan kontrollera Selenium också med Node JS, om du är mer bekväm med Javascript än med Python?
https://medium.com/dailyjs/how-to-se...t-ee33023da72d

Oavsett vilket skriptspråk du använder (Node JS eller Python) så kan du köra dessa skript med Cron job. Inget problem.

Jag får nog försöka lära mig cron job lite mer för jag fick det inte till att funka . Är osäker på om det går att köra python filer på miss-hostings c-panel och cronjob . Även om det skulle funka så får jag inte in hur selenium skulle kunna öppna en browser därifrån . När jag kör selenium från datorn så öppnar den ju firefox som är installerat på datorn . Men på min hosting sida där finns det ju ingen firefox att öppna . Det är mycket jag inte förstår .

Har läst hela tråden nu iallafall . Svenska spels apier borde vara lättare att läsa från än att scrapa deras sida , om jag läste rätt så kom du på det lite senare i tråden . Vet inte om du har skaffat nyckel till dom annars är det bara att skriva till svenska-spel så får du en .

Annars har jag 3 json-filer med det viktigaste från deras api på stryktipset och europatipset . Fullträff har jag inte börjat programmera än . Filerna innehåller %,abc-rader,vilket tecken är abc och rangordning.
https://tipzer.se/svf.json , https://tipzer.se/esvf.json
https://tipzer.se/odds.json
https://tipzer.se/lagen.json

Insåg att jag inte programmerat klart det som diskuterades i tråden på Stryk och Europa . Så det var bra att jag läste tråden .

Om man ska använda poängsummorna så kan det vara bra att veta att det är bara dom högsta poängsummorna som går plus över tid men där är ju utdelningen så låg att det inte är intressant .
Citera
2024-03-09, 15:18
  #12
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av UHJ
Jag får nog försöka lära mig cron job lite mer för jag fick det inte till att funka . Är osäker på om det går att köra python filer på miss-hostings c-panel och cronjob . Även om det skulle funka så får jag inte in hur selenium skulle kunna öppna en browser därifrån . När jag kör selenium från datorn så öppnar den ju firefox som är installerat på datorn . Men på min hosting sida där finns det ju ingen firefox att öppna . Det är mycket jag inte förstår .
Du måste ha en VPS om du ska köra "hostad" scraping med browser automation. Finns på miss hosting:
https://misshosting.se/vps/

Men jag skulle rekommmendera att du börjar med att bygga ett skript som körs på din lokala dator. Som steg 2 kan du sätta upp en billig Linux-burk (t.ex. Raspberry Pi) som kan stå och tugga scraping i ett hörn, alternativt sätta upp motsvarande kod i en VPS.

Cron job används för att automatiskt köra ett viss skript med vissa angivna mellanrum. Finns beskrivet här:
https://ostechnix.com/a-beginners-guide-to-cron-jobs/
https://phoenixnap.com/kb/set-up-cron-job-linux

Eftersom jag förstår att du kan Javascript hyfsat, men inte Python, så skulle jag överväga om jag var du att använda Puppeteer tillsammans med NodeJS.

Exempel på ett enkelt Puppeteer-skript:
__________________
Senast redigerad av Enterprise 2024-03-09 kl. 15:20.
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