Un motore di ricerca con Google e ASP

di Daniele Bochicchio, in SOAP, Web Services, XML,

Nello script #392 Cristian Civera ci ha fatto vedere come è semplice implementare Web Service con ASP.NET, nel caso specifico sfruttando le API di Google per aggiungere un motore di ricerca al nostro sito.
Ovviamente anche con Classic ASP la cosa non è complicatissima, anche se bisogna lavorare un attimo manualmente.
Perchè lo script funzioni, inoltre, è necessario che sia installato il Soap Toolkit 1.0, che potete scaricare direttamente da MSDN.
Il resto è codice, peraltro di facile comprensione.

<%

' variabili di ricerca
GoogleKey = "chiave"
SearchStr = Request("q")
StartNum = CInt(Request.QueryString("start"))
PageSize = 10

Set SoapRequest = Server.CreateObject("MSSOAP.SoapClient")

' Inizializzazione di SoapClient con il WSDL salvato in locale
' dall'URL http://api.google.com/GoogleSearch.wsdl
SoapRequest.mssoapinit Server.MapPath("GoogleSearch.wsdl")

' Richiamo il metodo doGoogleSearch delle API di Google
Set Results = SoapRequest.doGoogleSearch (GoogleKey, SearchStr, StartNum, PageSize, False, "", False, "", "", "")

' Informazioni sulla ricerca
EstimatedTotalResultsCount = Results.Item(3).Text
searchTime = Results.Item(7).Text
endIndex = Results.Item(11).Text
startIndex = Results.Item(17).Text
estimateIsExact = Results.Item(19).Text

' risultati totali
For j = 0 To Results.Item(9).childNodes.length - 1
  if Results.Item(9).childNodes.Item(j).NodeName = "item" Then

    ' recuperiamo i valori per posizione
    DocSnippet = Results.Item(9).childNodes.Item(j).childNodes.Item(5).Text
    DocCatDesc = Results.Item(9).childNodes.Item(j).childNodes.Item(13).Text
    DocURL = Results.Item(9).childNodes.Item(j).childNodes.Item(15).Text
    DocTitle = Results.Item(9).childNodes.Item(j).childNodes.Item(17).Text

      ' costruzione output
    Risultati = Risultati & _
      "<li><a href="""&DocURL&""">"&DocTitle&"</a><br>" & _
      DocSnippet & "</li>"

  End If
Next

Set Results = Nothing
Set SoapRequest = Nothing
%>

<p>Risultati per la ricerca di '<%=SearchStr%>' - da
<b><%=startIndex%></b> a <b><%=endIndex%></b>
su un totale di
<b><%=FormatNumber(EstimatedTotalResultsCount, 0)%></b>.
Ricerca effettuata in
<b><%=FormatNumber(searchTime, 2)%></b> secondi</p>

<ul><%=Risultati%></ul>
<p>Vai alla pagina: <%
'calcolo pagine totali
TotalPages = (EstimatedTotalResultsCount)\(PageSize)+1

 ' fix per numero di pagine
 if Fix(EstimatedTotalResultsCount/PageSize) = EstimatedTotalResultsCount/PageSize then TotalPages = TotalPages -1

for i = 1 to TotalPages
%>
<a href="google.asp?q=<%=SearchStr%>&start=<%=((PageSize*i)-PageSize)%><%=i%></a>
<%
next
%></p>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi