Inserire nel proprio sito un motore di ricerca che permetta di effettuare ricerche sia internamente che sul resto del web può essere un optional di indubbio valore per i nostri utenti.
Google fa al caso nostro perché ha messo a disposizione un web service che ci permette di fare ricerche e di gestire il risultato nel modo che vogliamo.
Di seguito un piccolo esempio per effettuare una ricerca sul web:
<%@ Page Language="vb" Debug="true" %>
<%@ Assembly Src="search.vb" %>
<%@ Import Namespace="System.Data" %>
<SCRIPT runat="server">
'costante indicante il numero di righe per pagina
private const righe=10
dim start_index as integer
Dim query as String
private Sub Page_Load(byval sender as object,e as eventArgs)
response.expires=0
if ispostback then exit sub
start_index=0
bindResults
End sub
private Sub bindResults()
dim s as new GoogleSearchService()
dim r as GoogleSearchResult
'query = Request("query")
query = "ASPItalia.com"
'richiamo il webservice - sostistuire key con la propria chiave
r = s.doGoogleSearch("key",query,start_index*righe,righe,false ,"",false,"","","")
trovati.Text = r.estimatedTotalResultsCount
'se non ha prodotto alcuni risultato allora salta il resto
if ubound(r.resultElements)=-1 then exit sub
' nuova datable con i risultati
dim dt as new DataTable()
dt.columns.Add("url")
dt.columns.Add("title")
dt.columns.Add("summary")
dt.columns.Add("cache")
dim i as byte
dim riga as dataRow
'informo il datagrid del totale degli item
'visto che utilizzo una customPaging
results.VirtualItemCount=r.estimatedTotalResultsCount
' popolo
for i=0 to ubound(r.resultElements)-1
riga=dt.NewRow
riga("url")=r.resultElements(i).url
riga("title")=r.resultElements(i).title
riga("summary")=r.resultElements(i).snippet
riga("cache")=r.resultElements(i).cachedSize
dt.rows.add(riga)
next i
' associazione dati e databinding
results.dataSource=dt
results.databind()
'distruggo logicamente gli oggetti
r=Nothing
s=Nothing
End sub
private Sub changePage(sender as Object , e as DataGridPageChangedEventArgs)
results.CurrentPageIndex=e.NewPageIndex
start_index=e.NewPageIndex
bindResults
End sub
</SCRIPT>
<form runat="server">
<p>Risultato della ricerca</p>
<p>Trovati <asp:literal id="trovati" runat="server"></asp:literal>
elementi corrispondenti alla parola di ricerca: <b><%=query%></b>
<br><i><b>Pagina <%= (start_index+1) %> d <%= math.floor(trovati.text/righe) %></b></i>
</p>
<asp:datagrid id="results" runat="server" cellpadding="4"
cellspacing="0" border="0" width="100%"
autogeneratecolumns="false" OnPageIndexChanged="ChangePage"
showHeader="false" PagerStyle-HorizontalAlign="right"
PagerStyle-CssClass="testo" PagerStyle-Mode="NumericPages"
Pagesize="<%# righe %>"
AllowPaging="true"
AllowCustomPaging="true">
<columns>
<asp:templateColumn>
<itemtemplate>
<a href="<%# Container.DataItem("url") %>" target="_blank"><%# Container.DataItem("title") %></a>
<br> <%# Container.DataItem("summary") %><br>
<i> Dimensione cache: <%# Container.DataItem("cache") %> </i>
</itemtemplate>
</asp:templateColumn>
</columns>
</asp:datagrid>
</form>In questo esempio richiamiamo la classe GoogleSearchService creata tramite wsdl.exe (oppure VS.net) e che è contenuta nel file search.vb, compilato dinamicamente con l?istruzione @Assembly.
Per usufruire del web service bisogna andare all'URL
http://www.google.it/apis/
e scaricare l?SDK contenente alcuni esempi in .NET e Java, creare un account per avere la key in modo da autenticarsi e usufruire del servizio.
Il tutto limitatamente a 1000 ricerche giornaliere.
La key è da inserire al primo paramentro delle funzioni del web service.
Il codice d'esempio è molto semplice e Google permette anche di prelevare la pagine che ha in cache oppure di usufruire della correzione delle parole (una specie di controllo dell'ortografia) e nelle funzioni è possibile passare molteplici parametri: il mio consiglio è solo quello di guardare la documentazione dell'SDK, che è di facile comprensione.
Per vedere all'opera questo esempio:
http://net.aspitalia.com/liste/usag/esempi.asp?ID=392
Per maggiori informazioni su web services con ASP.NET si veda:
http://www.aspitalia.com/articoli/aspplus/webservice.asp
http://www.aspitalia.com/articoli/aspplus/webserviceXML.asp
http://www.aspitalia.com/articoli/aspplus/wsautenticazione.asp
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aiuto! Ho questo errore dopo la ricerca. Infatti mi da bene la prima pagina, ma andando alla successiva o ad altre seguenti mi da questo errore:Server...
Salve ragazzi. Ho visto che qualcuno ha difficoltà nell'usare la ricerca con google e in particolar modo nell'utilizzo della classe GoogleSearch.Per ...
Per inserire un commento, devi registrarti alla nostra community.









Stampa
Snippet
Download 



non funziona....ho scarico il tutto dalle api di google e ho fatto una sottocartella.ho lanciato il comando wdsl....ecc ma mi dice che non sono ...
Continua »»» | Rispondi »»»