Prelevare risultati da siti esterni (API?)

Fossa

Nuovo Utente
26 Nov 2011
11
0
0
Salve a tutti, ho bisogno di una delle vostre pillole di saggezza :fonzie:

Sto creando un sistema di scommesse calcistiche non a soldi in PHP che si appoggia su un db MySQL e vorrei fare in modo che i risultati delle varie partite siano presi da siti esterni (gazzetta.it, eurosport.it o similia) e che vengano così confrontati automaticamente con le scommesse inserite dagli utenti.

In parole povere, il server mi deve scrivere direttamente chi ha vinto e chi no senza che sia io a fare un controllo manuale.

Saprei impostare il tutto se fossi io a scrivere i risultati e il server deve solo confrontarli (basta lavorare sul MySQL) con quelli degli utenti, ma vorrei che li prelevasse da altri siti direttamente.

Devo usare le API vero?
Ci sono siti che ne mettono a disposizione alcune ideali per il mio scopo?

Se sì, qualcuno di voi sarebbe così gentile da spiegarmi come fare visto che non ho mai lavorato con esse?

Grazie mille per qualsiasi risposta ;)
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Qui si trovano un po' di informazioni, ma sembrano tutti siti stranieri, non so se conterranno anche informazioni su eventi sportivi italiani.
Se non trovi quello che cerchi, dovrai estrapolare i dati dal codice HTML della pagina (Web scraping). Su Mr. Webmaster c'è un articolo interessante al riguardo.
 

Fossa

Nuovo Utente
26 Nov 2011
11
0
0
Qui si trovano un po' di informazioni, ma sembrano tutti siti stranieri, non so se conterranno anche informazioni su eventi sportivi italiani.
Se non trovi quello che cerchi, dovrai estrapolare i dati dal codice HTML della pagina (Web scraping). Su Mr. Webmaster c'è un articolo interessante al riguardo.

Innanzitutto grazie per la veloce risposta.

Avevo già guardato il primo link precedentemente ma non sono riuscito a trovare nulla, mentre ti ringrazio per il Web Scraping perchè non ne conoscevo proprio l'esistenza e mi potrebbe tornare utile come ultima, disperata, possibilità :)

Ho trovato questo sito che fornisce tutte le API relative al calcio, ma ho bisogno di aiuto per capirne il funzionamento.
Per prima cosa, è il sito adatto a me (di API ne so zero)?
Praticamente per avere accesso alle API, è richiesto una API Key che viene fornita dall'amministratore al momento dell'iscrizione, giusto?

Al momento della registrazione, mi chiede gli IP che avranno accesso al servizio, ma cosa ci devo mettere? E in useragent?

Grazie ancora :)
 

Fossa

Nuovo Utente
26 Nov 2011
11
0
0
Come IP devi mettere quello del tuo dominio. Puoi scoprire l'indirizzo tramite questo servizio.
In user agent puoi mettere qualunque cosa vuoi (anche se te lo devi segnare), e poi assegnerai lo stesso valore all'header durante le richieste effettuate tramite cURL.
Grazie mille nuovamente :)

Nell'attesa di una risposta, ho googlato un po' e ho scoperto che i cURL su Altervista non fungono, ergo devo cambiare necessariamente hosting.
Stessa cosa per il Web Scraping: ho cambiato e funziona alla grande ;)

Personalmente cosa mi consigli, sfrutto le API di quel sito o vado con lo Scraping? :fonzie:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Se ha delle API valide non ci sono dubbi: usale. Sono più veloci, più semplici da implementare, indipendenti dalla struttura grafica del sito, e soprattutto sei sicuro che il proprietario del sito voglia lasciarti usare i suoi dati. Se non ci sono altre soluzioni, potresti usare il Web scraping.
 

Fossa

Nuovo Utente
26 Nov 2011
11
0
0
Se ha delle API valide non ci sono dubbi: usale. Sono più veloci, più semplici da implementare, indipendenti dalla struttura grafica del sito, e soprattutto sei sicuro che il proprietario del sito voglia lasciarti usare i suoi dati. Se non ci sono altre soluzioni, potresti usare il Web scraping.

Dal momento che il sito delle API non mi ha risposto, mi vedo costretto a servirmi del Web Scraping.

Se inserisco manualmente le squadre che giocano, lo script naviga fino alla pagina di un giornale famoso sitogiornale.it/calcio/$squadra1-$squadra2.php e preleva il risultato dove gli dico io (lo identifico grazie ai div): fin qui tutto bene.

Ma se voglio che lo script mi prelevi da solo le squadre che giocano in una determinata giornata, ho qualche problema perchè i div sono gli stessi per ogni squadra (es <div name="squadra">) e non posso differenziare una dall'altra. Come faccio a ripetere il tutto
PHP:
//Uso il sito della serie a perchè il calendario è diviso in giornate e non tutto assieme
$uri = 'http://www.legaseriea.it/it/serie-a-tim/campionato-classifica';
$get = file_get_contents($uri);
$pos = strpos($get, "<div name=\"squadra\">");   
$squadra = substr($get,$pos,6);
in modo che la funzione strpos() non si fermi solo al primo risultato ma mi restituisca (magari in array) tutte le squadre in ordine di come le ha trovate?

Ho provato con un ciclo for ma nulla, la funzione non "scala" e si ferma sempre al primo risultato.

Spero di essere stato chiaro nella spiegazione :fonzie:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Non supporta le PCRE?! Sì, qualcosa che puoi fare c'è: cambia host! È assurda una cosa del genere...
Se proprio non c'è altra soluzione, puoi usare la libreria per la manipolazione degli elementi DOM.

Fammi sapere. Se ti è possibile cambiare host te lo consiglio vivamente, comunque.
 
Discussioni simili
Autore Titolo Forum Risposte Data
R [PHP] Prelevare dati dal più recente PHP 6
J Prelevare dati dal db Mysql PHP 9
trattorino [PHP] prelevare minuti da date confrontate PHP 2
trattorino [PHP] Prelevare contenuto PHP 1
trattorino [PHP] prelevare solo div con id PHP 1
M Creazione codice html per far prelevare un banner HTML e CSS 3
C Prelevare i record che appartengono al giorno più vecchio del mese. PHP 11
R Come prelevare valori da Feed Rss ? aiuto Javascript 0
E prelevare dato da una tabella ed inserila in un altra PHP 6
ivarello Prelevare contenuto DIV di un'altra pagina PHP 5
P Prelevare il valore da un radio button con name dinamico!! PHP 2
P Script per prelevare contenuti dalle pagine web PHP 1
E Prelevare dati diversi da 3 tabelle con gli stessi campi e accodarli per data PHP 1
F Prelevare un valore dall'oggetto selcet Javascript 4
F prelevare valori da una forse array PHP 7
B Metodo POST prelevare VALUE da tasto SUBMIT PHP 2
T [sql] Prelevare le ultime N righe? Database 3
F Prelevare variabile di ritorno da Google Maps API PHP 0
helpdesk Prelevare dati riga per riga PHP 20
A Prelevare i dati in base al titolo selezionato (era Aiuto!) PHP 1
I Prelevare dati PHP 6
I Prelevare dati database a caso PHP 4
I Prelevare dati da due tabelle PHP 2
catellostefano prelevare dati da tabella mysql PHP 6
catellostefano Prelevare variabile da un altra pagina php PHP 2
I Prelevare variabile da url PHP 3
C prelevare immagine e caricarla tramite ftp in php PHP 2
U Prelevare dati da Array o $_FILES PHP 7
M Prelevare *.wmv da internet Webdesign e Grafica 1
D Prelevare da un db i primi caratteri di un articolo. Classic ASP 1
R Prelevare dati da un file xml Ajax 3
L Prelevare testo da campo di testo Classic ASP 2
B prelevare cookies per fini di sviluppo PHP 2
ElfoDelBasket [php-mysql] Prelevare i valori dai campi Enum/Set PHP 5
P Come posso prelevare keyascii? Javascript 1
T Come faccio ad inserire file.pdf da far prelevare dal mio sito web? SEO e Posizionamento 0
K Estrazione di più risultati da tabelle correlate PHP 5
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
M Contare totale risultati tabella in un periodo di tempo PHP 5
F stampare a video i risultati della query PHP 1
M Visualizzazione a video risultati query php PHP 0
P Passare i risultati di un foreach in un modal. Help! PHP 2
G eseguire calcoli matematici su risultati 2 tabelle mysql PHP 4
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3
S come togliere un post dai risultati di google? Supporto Mr.Webmaster 5
M Filtrare risultati con valori checkbox passati con jquery jQuery 2
M [PHP] Mostrare risultati di una tabella ma solo se ID è attivo PHP 0
A [MySQL] Ottenere più risultati in un unico campo MySQL 7
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18

Discussioni simili