Web scraping risultati calcio con quote

di il
8 risposte

Web scraping risultati calcio con quote

Buongiorno a tutti, 

da qualche settimana mi sono avvicinato a Python, che, devo dire la verità, mi piace molto (io già programmo in PHP). 

Sto estraendo dei risultati di calcio con relative quote da un particolare sito ed ho un piccolo problema, visto che devo combinare 2 cicli for, uno per l'estrazione dei nomi delle squadre e dei risultati e uno per le quote.

Per quello che riguarda il primo ciclo for, nessun particolare problema, ho raggiunto il risultato. Anche il secondo funziona, se eseguito singolarmente.

Vengo al punto: devo collegare i risultati del primo ciclo for con quelli del secondo, in modo da avere un unico output

Questo è l'output che vorrei ottenere (questa è solo una parte)

Allego il codice:

from requests_html import HTMLSession
import tabulate
from tabulate import tabulate

matchlink = 'https://www.betexplorer.com/football/england/league-one/results/'

session = HTMLSession()

r = session.get(matchlink)
#r.html.render(timeout=20)
r.html.render()

allmatch = r.html.find('.in-match')
results = r.html.find('.h-text-center a')
matchodds = r.html.find('.table-main__odds')

odds = [matchodd.text for matchodd in matchodds]



for match, res in zip(allmatch, results):   #works
    for i in range(0, len(odds), 3): #print(odds[i:i+3])

        if res.text == 'POSTP.':
            continue

    print(match.text, res.text, odds[i:i+3])

8 Risposte

  • Re: Web scraping risultati calcio con quote

    Salve, la mia è stata l'unica discussione in cui non vi è stata una risposta. So che non è un obbligo, volevo solo sapere in cosa avevo sbagliato, se ho posto la domanda in modo errato. Dopo aver messo il codice non sono riuscito ad andare a capo per ringraziare chi, eventualmente, si sarebbe interessato al mio quesito. Lo faccio adesso, se qualcuno mi potrà aiutare gliene sarò grato.

    Come vedete il codice è quasi tutto fatto, quindi non sto chiedendo la pappa pronta, ma non riesco a risolvere quel problema

    Grazie a tutti e buona giornata

  • Re: Web scraping risultati calcio con quote

    16/11/2023 - terrasamba77 ha scritto:


    in cosa avevo sbagliato

    In nulla. Probabilmente il quesito non interessa o ad alcuni non sono simpatiche le scommesse … chissà …

  • Re: Web scraping risultati calcio con quote

    16/11/2023 - oregon ha scritto:


    16/11/2023 - terrasamba77 ha scritto:


    in cosa avevo sbagliato

    In nulla. Probabilmente il quesito non interessa o ad alcuni non sono simpatiche le scommesse … chissà …

    Certo, ci mancherebbe, però ad essere prevenuti o a trarre conclusioni affrettate a volte si sbaglia, visto che io non scommetto, ma faccio trading sportivo, che non c'entra proprio niente con le scommesse (non credo proprio che, nelle scommesse, tu possa guadagnare con qualsiasi risultato, ed è quello che faccio io). Se poi non è di interesse, ci sta ed è tutto un altro discorso. Ti ringrazio per la risposta

  • Re: Web scraping risultati calcio con quote

    17/11/2023 - terrasamba77 ha scritto:


    Ti ringrazio per la risposta

    Di nulla, figurati, la mia era solo un'idea, una possibile spiegazione, nulla di più.

    Sono certo che nessuno trae conclusioni ma nulla toglie che sia anche possibile il fatto che neanche il “trading sportivo” interessi o sia ben visto.

    Se non trovassi aiuto qui, ti consiglio di rivolgerti ad un professionista (un programmatore) magari del settore, che sicuramente ti potrà aiutare in maniera più proficua. Almeno IMHO

  • Re: Web scraping risultati calcio con quote

    17/11/2023 - terrasamba77 ha scritto:


    Certo, ci mancherebbe, però ad essere prevenuti o a trarre conclusioni affrettate a volte si sbaglia […]

    Premetto che io ho letto la domanda e non ho avuto alcun pregiudizio sulla natura del contenuto né sulla forma in cui il problema è posto.

    Se può essere utile, personalmente mi sono soffermato su questo pezzo:

    04/11/2023 - terrasamba77 ha scritto:


    Vengo al punto: devo collegare i risultati del primo ciclo for con quelli del secondo, in modo da avere un unico output

    Pur capendo il punto, questo “devo collegare” non suggerisce molto del tipo di collegamento reale che si debba fare tra le due parti (tralasciando che il codice sia valido o meno), quindi chi risponde deve necessariamente analizzare in modo approfondito tutto il post ed entrare nel contesto per poter dedurre cosa si sta cercando di fare e quale sia il problema reale, in modo poi da suggerire una possibile risoluzione.

    A volte non c'è purtroppo il tempo di rileggere, di approfondire, di analizzare a fondo per determinare lo stato della situazione in cui un utente si trova, ed è compito di chi pone la domanda - infatti - fornire quante più informazioni possibili per aiutare in questo campo, ad esempio riportando tutti i messaggi di errore, indicando cosa è stato ottenuto e come è diverso dal risultato iniziale, ma anche creando magari un PoC (Proof of Concept), cioè un progetto che possa generare il problema e sia facilmente riproducibile.

    In sintesi, se per dare un suggerimento occorre introdursi in una “scatola nera” mentale analizzando riga per riga, cercando di capire qual è il problema e poi elaborare delle soluzioni, non tutti hanno il tempo di farlo (purtroppo), neanche volendo.

    Non parlo per tutti ovviamente, ma questo è il mio caso. :)

  • Re: Web scraping risultati calcio con quote

    17/11/2023 - oregon ha scritto:


    17/11/2023 - terrasamba77 ha scritto:


    Ti ringrazio per la risposta

    Di nulla, figurati, la mia era solo un'idea, una possibile spiegazione, nulla di più.

    Sono certo che nessuno trae conclusioni ma nulla toglie che sia anche possibile il fatto che neanche il “trading sportivo” interessi o sia ben visto.

    Se non trovassi aiuto qui, ti consiglio di rivolgerti ad un professionista (un programmatore) magari del settore, che sicuramente ti potrà aiutare in maniera più proficua. Almeno IMHO

    Beh, pensa che una volta ero io il programmatore (fine anni ‘90 lavoravo a Milano in quel ruolo, programmavo principalmente in VB), ma poi ho fatto altro, anche se la passione è rimasta (programmo in PHP, infatti queste cose le ho già fatte in quel linguaggio, ma mi intriga python, anche perchè mi piacerebbe tornare nel settore). Comunque ho già risolto studiando un po' di roba trovata in giro, github, stackoverflow, etc etc

    Grazie ancora per l'attenzione

  • Re: Web scraping risultati calcio con quote

    17/11/2023 - Alka ha scritto:


    17/11/2023 - terrasamba77 ha scritto:


    Certo, ci mancherebbe, però ad essere prevenuti o a trarre conclusioni affrettate a volte si sbaglia […]

    Premetto che io ho letto la domanda e non ho avuto alcun pregiudizio sulla natura del contenuto né sulla forma in cui il problema è posto.

    Se può essere utile, personalmente mi sono soffermato su questo pezzo:

    04/11/2023 - terrasamba77 ha scritto:


    Vengo al punto: devo collegare i risultati del primo ciclo for con quelli del secondo, in modo da avere un unico output

    Pur capendo il punto, questo “devo collegare” non suggerisce molto del tipo di collegamento reale che si debba fare tra le due parti (tralasciando che il codice sia valido o meno), quindi chi risponde deve necessariamente analizzare in modo approfondito tutto il post ed entrare nel contesto per poter dedurre cosa si sta cercando di fare e quale sia il problema reale, in modo poi da suggerire una possibile risoluzione.

    A volte non c'è purtroppo il tempo di rileggere, di approfondire, di analizzare a fondo per determinare lo stato della situazione in cui un utente si trova, ed è compito di chi pone la domanda - infatti - fornire quante più informazioni possibili per aiutare in questo campo, ad esempio riportando tutti i messaggi di errore, indicando cosa è stato ottenuto e come è diverso dal risultato iniziale, ma anche creando magari un PoC (Proof of Concept), cioè un progetto che possa generare il problema e sia facilmente riproducibile.

    In sintesi, se per dare un suggerimento occorre introdursi in una “scatola nera” mentale analizzando riga per riga, cercando di capire qual è il problema e poi elaborare delle soluzioni, non tutti hanno il tempo di farlo (purtroppo), neanche volendo.

    Non parlo per tutti ovviamente, ma questo è il mio caso. :)

    Grazie anche a te per la risposta, soprattutto perchè conosco il gergo tecnico e mi rendo conto di non essermi spiegato neanche tanto bene. Ho comunque già risolto, studiando un po' qua e la. Python è veramente fantastico ed ha una sintassi molto easy :)

  • Re: Web scraping risultati calcio con quote

    Un saluto a tutti.

    Per importare tutti i nodi, in questo caso si trovano all'interno di una tabella, meglio usare l'elemento parent e accedere ai sui elementi interni:

    from requests_html import HTMLSession
    
    matchlink = 'https://www.betexplorer.com/football/england/league-one/results/'
    
    session = HTMLSession()
    
    r = session.get(matchlink)
    
    
    # --- tabella contenente gli elementi
    table = r.html.find("table[class='table-main js-tablebanner-t js-tablebanner-ntb']", first=True)
    
    # --- ciclo per ogni riga della tabella
    for tr in table.find('tr'):
        try:
            match = tr.find('.in-match', first=True).text
            result = tr.find('.h-text-center a', first=True).text
            matchodd = tr.find('.table-main__odds', first=True).text
    
            print(match, result, matchodd)        
        except:
            continue        
    
    
    
Devi accedere o registrarti per scrivere nel forum
8 risposte