PHP  »  Articoli  »  Web service 2.0 

Yahoo BOSS: esempi di ricerca sul web

di: Marco Bonzanini     27 Marzo 2009

Restringere la ricerca ad un singolo sito

Un'ulteriore funzionalità che possiamo offrire ai nostri utenti consiste nel restringere la ricerca ad uno specifico dominio (probabilmente il nostro). Praticamente tutti i motori di ricerca consentono di effettuare questa operazione aggiungendo la parola chiave site:miodominio.xx nella normale maschera di ricerca, ma questa funzione potrebbe essere ancora sconosciuta agli utenti meno esperti. Per questo motivo, può essere utile aggiungere un piccolo ritocco al form di ricerca con lo scopo di agevolare l'utente nella scelta di questa opzione:

<form action="boss_web_search.php" method="post">
Cerca risultati
<select name="site">
<option value="">su tutto il web</option>
<option value="html.it">su HTML.it</option>
</select>
<input type="text" name="query" />
<input type="submit" name="submit" value="Cerca" />
</form>

in modo analogo a quanto già indicato per la lingua, dal punto di vista del codice PHP che effettua la ricerca è sufficiente aggiungere un elemento all'array $param che stiamo utilizzando:

if ($_REQUEST['site'] == 'html.it') {
$param[] = "sites=html.it";
}

In questo esempio abbiamo ristretto la ricerca al singolo dominio html.it, ma volendo è possibile utilizzare il parametro sites specificando una lista di domini in cui cercare, separati da virgole.

Ulteriori spunti

A questo punto sarà la nostra fantasia a trovare il modo migliore per integrare il servizio di ricerca di Yahoo nel nostro sito web. Una possibile evoluzione del nostro codice potrebbe essere l'aggiunta della funzionalità di paginazione, per scorrere i risultati oltre i primi 10. Per fare ciò, è necessario impostare in modo appropriato i parametri count (il numero di risultati per pagina) e start (il punto di partenza della ricerca). Il valore massimo per count è 50 (il valore di default è 10), mentre per quanto riguarda il numero totale di risultati che possiamo ottenere tramite la paginazione, è possibile arrivare fino a 1000 (per cui se impostiamo count a 50, start non potrà essere superiore a 950).

Per semplificare la questione, nel documento XML ottenuto in risposta abbiamo anche un nodo <nextpage> che ci consente di costruire agevolmente l'URL di ricerca per la pagina successiva: troveremo il percorso sotto forma di stringa in $xml->nextpage, che dovremo solo far precedere da http://boss.yahooapis.com, senza preoccuparci di impostare i vari parametri.

I prossimi esempi, argomento del prossimo articolo, riguarderanno la ricerca all'interno degli archivi delle immagini e delle news.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti