di: Marco Bonzanini 13 Marzo 2009
Nel primo esempio i risultati ottenuti nel formato XML sono stati semplicemente stampati a video con l'istruzione echo, scelta che ovviamente non è utile in un caso d'uso reale, ma che ci consente di avere una panoramica completa sul modo in cui il web service ci fornisce i risultati stessi. In questo paragrafo vediamo di approfondire il formato della risposta XML per capire in quale modo sia possibile sfruttarla al meglio per i nostri scopi.
Di seguito proponiamo lo scheletro di una possibile risposta XML:
<ysearchresponse responsecode="200">
<nextpage><![CDATA[...]]></nextpage>
<resultset_web count="10" start="0" totalhits="XYZ" deephits="XYZ">
<result>
<abstract><![CDATA[...]]></abstract>
<date>yyyy/mm/dd</date>
<dispurl><![CDATA[...]]></dispurl>
<clickurl>URL da cliccare</clickurl>
<size>Dimensione risultato</size>
<title>Titolo risultato</title>
<url>URL risultato</url>
</result>
</resultset_web>
</ysearchresponse>
Osserviamo che il tag radice è <ysearchresponse>, che riporta un attributo responsecode indicante il valore del codice HTTP della risposta (200 significa che l'operazione è andata a buon fine). Nel tag <nextpage> viene riportato l'indirizzo della pagina successiva nel caso volessimo sfruttarlo per costruire una paginazione: in sostanza si tratta dell'URL di ricerca con l'aggiornamento del parametro start descritto nel paragrafo precedente.
Il tag successivo, <resultset_web>, contiene l'elenco dei risultati, uno per ogni tag figlio <result>. Oltre ai risultati, abbiamo qualche informazione numerica sotto forma di attributi:
count, 10 nell'esempio, indica il numero di risultati presenti nel resultset, parametro che è possibile manipolare come indicato nel paragrafo precedente;start, il punto di partenza, anche in questo caso descritto nel paragrafo precedente;totalhits, il numero totale di risultati per le chiavi di ricerca specificate, senza contare eventuali duplicati;deephits, il numero totale di risultati tenendo in considerazione i duplicati; in entrambi i casi si tratta di approssimazioni che vanno ad essere più precise man mano che l'attributo start aumenta, ossia processando un maggior numero di risultati.Per ogni elemento <result>, che rappresenta uno dei risultati, andiamo a trovare diversi tag figli che rappresentano le informazioni relative a quello specifico risultato:
abstract, un estratto del documento, comunemente visibile nei risultati dei motori di ricerca;date, data di ultima modifica nel formato aaaa/mm/ggclickurl, URL da utilizzare nei link, effettua un redirect tramite un dominio Yahoodispurl, URL da utilizzare in un output HTMLtitle, titolo del risultatosize, dimensione in byte del risultatourl, vero indirizzo del risultatoNota: per inserire un link al risultato in una propria pagina web, è richiesto l'utilizzo di clickurl e non di url, per fornire a Yahoo informazioni sull'utilizzo del web service.
Per interpretare il codice XML all'interno del nostro script PHP abbiamo varie opzioni. Nel prossimo articolo proporremo esempi in questo senso tramite l'estensione SimpleXML, oltre ad esempi di ricerca più articolati, che ci aiuteranno a completare il quadro.
Link di approfondimento
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |