• Home
  • Forum
  • Fare Web
  • PHP

Api Xml

  • Creatore Discussione Creatore Discussione IImanuII
  • Data di inizio Data di inizio 10 Gen 2013
Prec.
  • 1
  • 2
  • 3
  • 4
  • 5
Succ.
Primo Prec. 2 di 5 Succ. Ultimo

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 7 Feb 2013
  • #21
Si dovresti mettere tutto nel ciclo.
Comunque per fare delle prove ci sono di simulatori come bluestacks dove basta installare l'apk e usi l'app come se avessi il cellulare.
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #22
Longo8 ha scritto:
Si dovresti mettere tutto nel ciclo.
Comunque per fare delle prove ci sono di simulatori come bluestacks dove basta installare l'apk e usi l'app come se avessi il cellulare.
Clicca per allargare...

I simulatori già li utilizzo, ma ci sono mille modelli e in genere va meglio sempre provarli su dispositivi reali, in sostanza sugli emulatori vanno, dovrebbero andare anche sui vari smartphone e tablet. "In teoria" xD

Per quanto riguarda il ciclo non mi potresti dare una dritta? Il risultato che ottengo è sempre un loop :| e poi ovviamente il server chiude la connessione.
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #23
IImanuII ha scritto:
I simulatori già li utilizzo, ma ci sono mille modelli e in genere va meglio sempre provarli su dispositivi reali, in sostanza sugli emulatori vanno, dovrebbero andare anche sui vari smartphone e tablet. "In teoria" xD

Per quanto riguarda il ciclo non mi potresti dare una dritta? Il risultato che ottengo è sempre un loop :| e poi ovviamente il server chiude la connessione.
Clicca per allargare...

Googlando ho trovato
http://stackoverflow.com/questions/12361743/php-file-get-html-content-into-array-by-tag

Solo che non riesco ad adattarlo.

Ho riordinato in questo modo:

PHP:
<?php  
$uri = 'http://tv.zam.it/gadget/gadget_tv.php';  

$get = file_get_contents($uri); 

$ora_inizio = strpos($get, '<td class="gen" valign="top">');
$ora_fine = strpos($get, '</td>', $ora_inizio);   

$ora = substr($get,$ora_inizio,$ora_fine-$ora_inizio+5); 

$prog_inizio = strpos($get, '<span class="gen">'); 
$prog_fine = strpos($get, '</span>', $prog_inizio); 

$trasmissione = substr($get,$prog_inizio,$prog_fine-$prog_inizio+5); 

echo $ora . "&nbsp" . $trasmissione;  
?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 7 Feb 2013
  • #24
Sono da cellulare e non posso testare, prova così:
PHP:
<?php  
$uri = 'http://tv.zam.it/gadget/gadget_tv.php';  

$get = file_get_contents($uri); 
for($i=0; $i<5; $i++){ //intanto prova a fare prendere i primi 5 canali
$ora_inizio = strpos($get, '<td class="gen" valign="top">');
$ora_fine = strpos($get, '</td>', $ora_inizio);   

$ora = substr($get,$ora_inizio,$ora_fine-$ora_inizio+5); 

$prog_inizio = strpos($get, '<span class="gen">'); 
$prog_fine = strpos($get, '</span>', $prog_inizio); 

$trasmissione = substr($get,$prog_inizio,$prog_fine-$prog_inizio+5); 

echo $ora . "&nbsp" . $trasmissione;
}
?>
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #25
Longo8 ha scritto:
Sono da cellulare e non posso testare, prova così:
PHP:
<?php  
$uri = 'http://tv.zam.it/gadget/gadget_tv.php';  

$get = file_get_contents($uri); 
for($i=0; $i<5; $i++){ //intanto prova a fare prendere i primi 5 canali
$ora_inizio = strpos($get, '<td class="gen" valign="top">');
$ora_fine = strpos($get, '</td>', $ora_inizio);   

$ora = substr($get,$ora_inizio,$ora_fine-$ora_inizio+5); 

$prog_inizio = strpos($get, '<span class="gen">'); 
$prog_fine = strpos($get, '</span>', $prog_inizio); 

$trasmissione = substr($get,$prog_inizio,$prog_fine-$prog_inizio+5); 

echo $ora . "&nbsp" . $trasmissione;
}
?>
Clicca per allargare...

Scusa se non te l'ho postato ma avevo già provato così: in questo modo duplica la prima stringa per 5 volte quindi si vedrà per 5 volte lo stesso canale. Credo la via sia un altra (correggimi se sbaglio).

Quello a cui ho pensato è che strpos trova solo il primo valore all'interno di $get, se volessi trovarli tutti non mi converrebbe usare preg_match_all() ?
Poi una volta creato l'array si dovrebbe utilizzare foreach.
Il problema è che non so utilizzarlo.

Il ragionamento è errato?
 
Ultima modifica: 7 Feb 2013

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #26
In base a quanto scritto prima ho provato

PHP:
<?php   
$uri = 'http://tv.zam.it/gadget/gadget_tv.php';   

$get = file_get_contents($uri);  

preg_match_all('/<td class="gen" valign="top">/', $get, $ris);
preg_match_all('/<\/td>/', $get, $ris);

for($i=0; $i<5; $i++)
{
    echo $ris[$i] , '<br>';
}

?>

Ma a schermo restituisce solo Array :\
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 7 Feb 2013
  • #27
Si esatto. Allora devi lavorare con i puntatori come ti avevo detto sfruttado il terzo parametro della strpos() che indica il punto da dove partire per controllare se c'è il testo desiderato.
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #28
Longo8 ha scritto:
Si esatto. Allora devi lavorare con i puntatori come ti avevo detto sfruttado il terzo parametro della strpos() che indica il punto da dove partire per controllare se c'è il testo desiderato.
Clicca per allargare...

Non ho ancora inteso, devo utilizzare l'espressione regolare preg_match_all() oppure strpos() ?
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 7 Feb 2013
  • #29
L'esempio di prima funzionava vero? Anche se solo per un canale..allora basta fare un ciclo giocando sui puntatori. Perché cambi funzione?
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #30
Longo8 ha scritto:
L'esempio di prima funzionava vero? Anche se solo per un canale..allora basta fare un ciclo giocando sui puntatori. Perché cambi funzione?
Clicca per allargare...
Perchè non riesco a creare un ciclo corretto che non vada in loop o che non ripeta sempre lo stesso risultato :V :dipser::dipser:
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 7 Feb 2013
  • #31
Prova con qualcosa del genere e se ho dimenticato qualcosa controlla sempre i puntatori che puntano al terzo parametro di strpos.
PHP:
<?php   
$uri = 'http://tv.zam.it/gadget/gadget_tv.php';   

$get = file_get_contents($uri);  
$inizio = strpos($get, '<');
for($i=0; $i<5; $i++){ //intanto prova a fare prendere i primi 5 canali 
$ora_inizio = strpos($get, '<td class="gen" valign="top">', $inizio); 
$ora_fine = strpos($get, '</td>', $ora_inizio);    

$ora = substr($get,$ora_inizio,$ora_fine-$ora_inizio+5);  

$prog_inizio = strpos($get, '<span class="gen">', $ora_inizio);  
$prog_fine = strpos($get, '</span>', $prog_inizio);  

$inizio=$prog_fine;
$trasmissione = substr($get,$prog_inizio,$prog_fine-$prog_inizio+5);  

echo $ora . "&nbsp" . $trasmissione; 
} 
?>
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 7 Feb 2013
  • #32
Così funziona ma non capisco il perchè :| secondo la mia errata evidente logica avrebbe dovuto ripetere sempre e solo il primo canale, perché va?????

Saresti così cortese da spiegarmelo? Fare le cose senza capire non mi è mai piaciuto (e soprattutto non rende autonomi)

PHP:
<?php    
$uri = 'http://tv.zam.it/gadget/gadget_tv.php';    

$get = file_get_contents($uri);

$inizio = strpos($get, '<');

for($i=0; $i<5; $i++){ //intanto prova a fare prendere i primi 5 canali 

$ora_inizio = strpos($get, '<td class="gen" valign="top">', $inizio);  
$ora_fine = strpos($get, '</td>', $ora_inizio);     

$ora = substr($get,$ora_inizio,$ora_fine-$ora_inizio+5);   

$prog_inizio = strpos($get, '<span class="gen">', $ora_inizio);   
$prog_fine = strpos($get, '</span>', $prog_inizio);   

$inizio=$prog_fine; 
$trasmissione = substr($get,$prog_inizio,$prog_fine-$prog_inizio+5);   

echo "<br />" . $ora . "&nbsp" . $trasmissione ."<br />";  
}  
?>

Soprattutto non capisco perchè hai messo
PHP:
 $inizio = strpos($get, '<');

EDIT: funziona in parte sballa tutto se aumento da 5 a 40 ed anche se lascio 5 gli orari non coincidono con la trasmissione

EDIT2 Ho trovato la disaccortenza, il codice non prende i programmi che sono visti come link quindi salta e scombussola tutto
 
Ultima modifica: 7 Feb 2013

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 8 Feb 2013
  • #33
IImanuII ha scritto:
PHP:
 $inizio = strpos($get, '<');
Clicca per allargare...
Ne ho compreso il perchè tuttavia non riesco a venire a capo del problema secondo me è meglio fare un ciclo per ogni palinsesto, prendendo la source dal sito originale.

Magari provo domani pomeriggio ora sono stanchissimo e vado a dormire con le pive nel sacco T.T
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 8 Feb 2013
  • #34
Quello l'ho messo per prendere la posizione iniziale diciamo. Poi la posizione la aggiorno sempre a ogni ciclo infatti a strpos() viene fatto fare il controllo a partire da un puntatore che è il suo terzo parametro.
Prova con 2-3 vedi cosa ti stampa e cosa ti dovrebbe stampare. Magari posta tutto e appena posso fare dal pc lo testo anche.
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 8 Feb 2013
  • #35
Longo8 ha scritto:
Quello l'ho messo per prendere la posizione iniziale diciamo. Poi la posizione la aggiorno sempre a ogni ciclo infatti a strpos() viene fatto fare il controllo a partire da un puntatore che è il suo terzo parametro.
Prova con 2-3 vedi cosa ti stampa e cosa ti dovrebbe stampare. Magari posta tutto e appena posso fare dal pc lo testo anche.
Clicca per allargare...

Si l'avevo capito difatti ho tentato di creare il ciclo con il palinsesto di yahoo e ci sono riusci ma anche quello non andava granchè.

A questo punto ho pensato di elaborare un ciclo per ogni rete (mediaset, rai etc...) così da essere sicuro di non avere sorprese future.

Ho tentato di cominciare con la rai e mi sembrava piuttosto facile. Il problema è che visualizzo una pagina bianca e non so il perchè. Ti posto il codice (che non va) per individuare solo ora e programma di rai 1:

PHP:
<?php  
$uri = 'http://www.rai.it/dl/rai/guidaTv.html';  

$get = file_get_contents($uri); 

$prog_inizio = strpos($get, '<a class="tit" '); 
$prog_fine = strpos($get, '</a>', $prog_inizio); 

$trasmissione = substr($get,$prog_inizio,$prog_fine-$prog_inizio+4); 

echo $trasmissione;  
?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 8 Feb 2013
  • #36
Dovrebbe andare se il testo che ricerchi c'è in $get. Prova a fare stampare il contenuto di $get per vedere se prende quello che deve prendere e se è presente il testo da te cercato.
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 8 Feb 2013
  • #37
Longo8 ha scritto:
Dovrebbe andare se il testo che ricerchi c'è in $get. Prova a fare stampare il contenuto di $get per vedere se prende quello che deve prendere e se è presente il testo da te cercato.
Clicca per allargare...

Effettivamente c'è qualcosa che non torna. La parte a me interessata risulta essere vuota, cioè sono presenti solo una serie di pallini (che si riferiscono alla lista presumo) ma non ci sono i palinsesti che cerco. Per questo credo non vada il codice postato su.

Come mi comporto? Cerco eventuali dipendenze oppure è inutile perchè quella parte di codice è protetto?

EDIT: potrebbe essere questa http://www.rai.it/dl/portale/html/palinsesti/static/palinsestoOraInOnda.html la parte mancante? Come la inserisco eventualmente? Sempre con get?
 
Ultima modifica: 8 Feb 2013

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 8 Feb 2013
  • #38
Si prova e vedi come va..
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
  • 8 Feb 2013
  • #39
Longo8 ha scritto:
Si prova e vedi come va..
Clicca per allargare...

Una vera seccatura nulla di fatto, ho con httptrack importato tutti i file collegati alla pagina all'interno del mio spzio ftp e provato ad inserire tutte le dipendenze (con relative cartelle) ma nulla :/ che scocciatura uffffff

Mi conviene ancora una volta cambiare resource?
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 8 Feb 2013
  • #40
Ma all'inizio non andava? Le primissime prove che abbiamo fatto.
 
Prec.
  • 1
  • 2
  • 3
  • 4
  • 5
Succ.
Primo Prec. 2 di 5 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

P
Stored procedure import xml/json web API
  • paridozzo
  • 29 Ago 2013
  • MySQL
Risposte
0
Visite
2K
MySQL 29 Ago 2013
paridozzo
P
Api xml
  • catellostefano
  • 15 Dic 2009
  • XML
Risposte
4
Visite
2K
XML 22 Dic 2009
MarcoGrazia
CPanel XML Api
  • catellostefano
  • 8 Lug 2009
  • Web Server
Risposte
0
Visite
2K
Web Server 8 Lug 2009
catellostefano
P
API Google maps e Ajax
  • Pippopippo1
  • Giovedì alle 11:28
  • Javascript
Risposte
0
Visite
180
Javascript Giovedì alle 11:28
Pippopippo1
P
[Vendo/Offro] Realizzazione applicazioni web e/o API rest
  • Rikk73
  • 26 Apr 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 26 Apr 2023
Rikk73
Amazon SP-API
  • Daniele_Carrara
  • 9 Giu 2022
  • PHP
Risposte
0
Visite
1K
PHP 9 Giu 2022
Daniele_Carrara
L
  • Bloccata
Api Google - kml
  • lugalzaggesi
  • 4 Gen 2022
  • Javascript
Risposte
1
Visite
1K
Javascript 4 Gen 2022
Max 1
M
Google API Vision
  • MaxFor
  • 13 Dic 2021
  • PHP
Risposte
5
Visite
2K
PHP 18 Dic 2021
MaxFor
M
L
  • Bloccata
java + Api di google
  • lugalzaggesi
  • 9 Ago 2021
  • Javascript
Risposte
1
Visite
2K
Javascript 10 Ago 2021
Max 1
S
Leggere dati da API e visualizzarli
  • Sako00
  • 22 Apr 2021
  • PHP
Risposte
0
Visite
2K
PHP 22 Apr 2021
Sako00
S
M
user agent per il download di api
  • master1986
  • 13 Mar 2021
  • PHP
Risposte
0
Visite
760
PHP 13 Mar 2021
master1986
M
Chiamata Rest Api durante Redirect
  • motleyrulez
  • 6 Mag 2020
  • PHP
Risposte
1
Visite
1K
PHP 7 Mag 2020
macus_adi
Consigli e aiuti integrazione API
  • bubino8
  • 20 Mar 2020
  • Programmazione
Risposte
8
Visite
3K
Programmazione 12 Ott 2021
zabitmrw
Z
[WordPress] problemi plug meteo api key
  • michele81
  • 2 Dic 2019
  • WordPress
Risposte
4
Visite
3K
WordPress 2 Dic 2019
michele81
P
Passagio dati complessi tra una ASP.NET webapi e Angular
  • PazzoFrontEnd
  • 23 Nov 2019
  • ASP.NET
Risposte
1
Visite
11K
ASP.NET 14 Lug 2020
Rikk73
W
Api facebook o api Instagram (v1(?
  • webfra01
  • 17 Feb 2019
  • Ajax
Risposte
0
Visite
4K
Ajax 17 Feb 2019
webfra01
W
A
[PHP] Rest Api
  • Alberto Simonazzi
  • 29 Ott 2018
  • PHP
Risposte
1
Visite
1K
PHP 30 Ott 2018
macus_adi
E
[PHP] rest api
  • emanuelesalati
  • 23 Ott 2018
  • PHP
Risposte
3
Visite
3K
PHP 24 Ott 2018
Rikk73
W
[A PAGAMENTO] Programmatore per sviluppare API REST in C#
  • w_t
  • 22 Mag 2018
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
1
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 5 Dic 2018
marcomarsala
M
W
[C#] Api RESTFul server/client con cifratura
  • w_t
  • 19 Mag 2018
  • .NET Framework
Risposte
0
Visite
2K
.NET Framework 19 Mag 2018
w_t
W
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?