Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    215

    [Asp] Recuperare le query di ricerca dei motiri

    ciao,
    qualcuno sà come si possono recuperare le query di ricerca?
    mi spiego:

    un utente cerca in Google "Affitto negozio" e io sono nella lista di google (per esempio)
    l'utente clicca sul mio sito e quindi c'e il referer che contiene anche la stringa di ricerca, come posso estrarre le parole cercate?

    Mi serve perchè cosi se ho presente le key del referer le butto sulla ricerca del mio sito e mostro quello che l'utente sta cercando e non tutti i record che lo confondono

    grazie a tutti

  2. #2
    provato a vedere il varole della servervariables?

  3. #3
    un po' di tempo fa ho fatto questo
    ti piace?

    codice:
    <%
    
    dim referer, found
    Referer = request.Form("Referer")
    found = false
    
    If referer <> "" Then
    	
    	dim ii
    	dim objRegExp
    	Set objRegExp = New Regexp
    	objRegExp.IgnoreCase = True
    	objRegExp.Global = True
    	objRegExp.multiline = false
    	
    	dim urlDomain
    	dim urlRobot
    	dim urlSubpage
    	dim urlQuerystring
    	
    	objRegExp.pattern = "^(http:\/\/(?:www\.)?([^\/?]*))([^?]*)(.*$)"
    	if objRegExp.Test(Referer) then
    		'spezza l'indirizzo nelle varie componenti
    		set Matches = objRegExp.Execute(Referer)
    		urlDomain = Matches(0).SubMatches(0)
    		urlRobotSubdomain = Matches(0).SubMatches(1)
    		urlSubpage = Matches(0).SubMatches(2)
    		urlQuerystring = Matches(0).SubMatches(3)
    		
    		'cerca fra i robot conosciuti
    		objRegExp.pattern = "(yahoo|lycos|tiscali|excite|altavista|libero|msn|virgilio|google|exalead)"
    		if objRegExp.Test(urlDomain) then		
    			set Matches = objRegExp.Execute(Referer)
    			urlRobot = Matches(0).SubMatches(0)
    		else
    			urlRobot = ""
    		end if
    		
    		dim qsPattern, qsQuery
    		'se il robot è conosciuto ne imposta la QueryString value e ne imposta il nome
    		select case lcase(urlRobot)
    			case "yahoo"
    			qsPattern = "p"
    			robotName = "Yahoo!"
    			case "virgilio"
    			qsPattern = "qs"
    			robotName = "Virgilio"
    			case "tiscali"
    			qsPattern = "key"
    			robotName = "Tiscali"
    			case "libero"
    			qsPattern = "query"
    			robotName = "Arianna/Libero"
    			case "google"
    			qsPattern = "q"
    			robotName = "Google"
    			case "exalead"
    			qsPattern = "q"
    			robotName = "Exalead"
    			case "msn"
    			qsPattern = "q"
    			robotName = "MSN Search"
    			case "altavista"
    			qsPattern = "q"
    			robotName = "Altavista"
    			case "excite"
    			qsPattern = "q"
    			robotName = "Exite"
    			case else
    			qsPattern = "(?:q|qs|p|key|query)"
    			robotName = "Motore non riconosciuto"
    		end select
    		
    		'ricerca la querystring search value
    		objRegExp.pattern = "(?:\?|&)" & qsPattern & "=($|[^&]+)"
    		if objRegExp.Test(urlQuerystring) then
    			set Matches = objRegExp.Execute(Referer)
    			qsQuery = Matches(0).SubMatches(0)
    		end if
    		
    		found = true
    	end if
    End If
    
    response.write "<h2>risultato:</h2>"
    if found  then
    		response.write "dominio: " & urlDomain & "
    "
    		response.write "robot dominio: " & urlRobotSubdomain & "
    "
    		response.write "robot: " & robotName & "
    "
    		response.write "sottopagina: " & urlSubpage & "
    "
    		response.write "querystring: " & urlQuerystring & "
    "
    		response.write "query di ricerca: <span style=""color:red"">" & qsQuery &  "</span>"
    else
    		response.write "non riconosciuto"
    end if
    %>
    <h2>inserisci un referer di un motore di ricerca:</h2>
    <form id="form1" method="post" action="">
    
    
    <input name="Referer" type="text" id="Referer" size="60" value="<%=Referer%>"/></p>
    
    
    <input type="submit" name="Submit" value="Invia" /></p>
    </form>
    
    <h2>esempi (la parola cercata è sempre <span style="color:red">splik</span>):</h2>
    google: http://www.google.it/search?q=splik&amp;...la:it:official
    
    yahoo: http://it.search.yahoo.com/search?p=...al&amp;fr=moz2
    
    libero: http://arianna.libero.it/search/abin...mp;x=0&amp;y=0
    san imente saluta

    * http://simonecingano.it *

  4. #4
    imente mi spiegheresti il funzionamento di questo script?

  5. #5
    hai provato ad eseguirlo?

    metti nella textbox questo (prendi il link, che il forum l'avrà tagliato)

    http://www.google.it/search?q=splik&...la:it:official

    e poi fai INVIO

    in pratica il mio script ti recupera, qual'è il motore di ricerca utilizzato (con varie informazioni) e ovviamente qual'era la chiave di ricerca

    nel caso specifico indicato sopra la chiave di ricerca è SPLIK

    ---

    l'utilizzo è ovviamente indicato per i REFERER ad un sito
    se viene da un motore di ricerca identifica QUALE motore e QUALE chiavi

    il sistema è semplice e poco sofisticato (c'è di meglio) era un piccolo esperimento
    ma comunque può venire utile
    san imente saluta

    * http://simonecingano.it *

  6. #6
    mi riferivo in particolare a questo:

    codice:
    Referer = request.Form("Referer")

    nell'uso normale deve essere sostituito da servervariables no?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    215
    Originariamente inviato da santino83_11_04
    mi riferivo in particolare a questo:

    codice:
    Referer = request.Form("Referer")

    nell'uso normale deve essere sostituito da servervariables no?
    Ciao, però il referer norton Internet Security lo blocca, mi ricordo perchè con un altro script avevo il problema con i referer.. come si può risolvere?

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da jordy80
    Ciao, però il referer norton Internet Security lo blocca, mi ricordo perchè con un altro script avevo il problema con i referer.. come si può risolvere?
    Non lo puoi risolvere... se il dato non viene trasmesso non puo' essere nemmeno rilevato

    Ed inoltre alcuni motori di ricerca ricevono i dati in POST o usano una pagina intermedia e quindi non puoi rilevare le stringhe nemmeno da quelli.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    allora

    come dice BR1 se non viene inviato non ci si fa nulla...

    io per esempio viaggio con i REFERER bloccati... non mi piace che un sito sappia da dove sono venuto...
    spesso ho anche Javascript non attivo.
    per non parlare del fatto che accetto i cookie per i singoli siti...

    ma questo fa parte della MIA follia.

    per quanto riguarda il fatto che prendo il dato da request.form è evidente che è solo per la DEMO
    come dicevi giustamente si recupera dalle server.variables... se non c'è non si fa nulla

    molti siti impediscono varie operazioni se il referer è vuoto.
    ma non amo questo genere di obblighi...

    se c'è si usa, se non c'è non si usa
    san imente saluta

    * http://simonecingano.it *

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.