Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 22 di 32
  • livello principiante
Indice lezioni

Yahoo Search

Effettuare ricerche con Yahoo dalla nostra applicazione
Effettuare ricerche con Yahoo dalla nostra applicazione
Link copiato negli appunti

In questo capitolo daremo uno sguardo ai principali servizi offerti da Yahoo. Vedremo solo i principali moduli disponibili, per un elenco completo si esegua:

# gem search --remote yahoo

Alcuni servizi richiedono l'utilizzo di un "application ID" che si può richiedere gratuitamente sul developer network di Yahoo e che va poi specificato all'interno delle applicazioni.

Cominciamo con l'esaminare YahooSearch, che implementa il servizio di ricerca di Yahoo e precisamente la versione 1 di Yahoo Web Search e la versione 3 di Yahoo Local Search.

La libreria yahoo-search fa parte del progetto più ampio RC Tools, mentre possiamo trovare le API di Yahoo, nella versione globale o locale, sempre disponibili nel developer network. Per poter utilizzare questo servizio è necessario ottenere prima un application ID.

Come esempio effettuiamo una ricerca e poi utilizziamo i risultati per creare una pagina HTML con BlueCloth:

require 'rubygems'
require 'bluecloth'
require 'yahoo/web_search'

APP_ID = "YourYahooApplicationID"

query = ARGV[0]
ys = Yahoo::WebSearch.new APP_ID
results, avail, returned, position = ys.search query

str = "## Search for _#{query}_n"
results.each do |res|
  str << "[__#{res.title}__](#{res.url})  n"
  str << "#{res.summary}  n"
  str << "#{res.url} - #{res.cache_size} bytes - [Cached](#{res.cache_url})nn"
end

bc = BlueCloth::new(str)
puts bc.to_html

La struttura è molto intuitiva: prima creiamo un oggetto di tipo WebSearch utilizzando il nostro application ID, poi effettuiamo la ricerca con il metodo search passando come unico argomento la parola da cercare. È anche possibile passare come parametro il numero di risultati desiderati, il valore di default è 10.

Fatto questo creiamo la stringa da passare a BlueCloth utilizzando gli attributi dei risultati restituiti che sono istanze della classe Yahoo::WebSearch::Result.

Se abbiamo utilizzato una ricerca locale (LocalSearch), i risultati che otteniamo sono arricchiti da attributi come indirizzo, città, numero di telefono, latitudine, longitudine e così via.

Ti consigliamo anche