Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Hobby

  1. #1

    Hobby

    Salve a Tutti Dopo un anno che ho cambiato lavoro (progetto tetti e strutture in legno) questa sera mi è tornata la voglia di scrivere qualche riga di codice e così se a qualcuno interessa metto a disposizione il codice di un semplice motore di ricerca per il proprio sito.
    Buone ferie


    Pagina che richiama la classe
    codice:
    <%
    Dim i
    Set MioMotore = New Motore
    MioMotore.Cerca("Una Due o N parole")
    For i = 1 to MioMotore.Numerofile
    	Response.write "
    NomeFile = " & MioMotore.FileName(i)
    	Response.write "
    PathFileLink = " & MioMotore.PathFile(i)
    	Response.write "
    Estensione File = " & MioMotore.ExtFile(i)
    	Response.write "
    "
    Next
    %>
    Classe contenuta nel file Motore.asp
    libero e personalizzabile a proprio gusto e piacere
    codice:
    <%
    Class Motore
    	Private MatFile()
    	Private i
    	Public Numerofile	
    	Public function Cerca(Testo)
    		Dim fso
    		Set fso = CreateObject("Scripting.FileSystemObject")
    			Call Esplora (fso,Testo,Server.MapPath("."),"")
    		Set fso = Nothing
    	End function
    	Public Function FileName(i)
    		FileName = MatFile(0,i)
    	End Function
    	Public Function PathFile(i)
    		PathFile = MatFile(1,i)
    	End Function
    	Public Function ExtFile(i)
    		ExtFile = MatFile(2,i)
    	End Function
    	Private Function FileExt(NomeFile)
    		FileExt = Right(NomeFile,Len(NomeFile)-instrrev(NomeFile,"."))
    	End Function	
    	Private Sub Esplora(fso,Testo,Cartella,Path)
    		Dim fol
    		Dim f
    		Dim SubFols
    		Dim TestoCerca
    		Dim TestoTrovato
    		Dim j
    		Set fol = fso.GetFolder(Cartella)
    		Set SubFols = fol.subfolders
    		For each SubFol In SubFols
    			Call Esplora(fso,Testo,SubFol.Path,Path & "/" & SubFol.Name)
    		Next		
    		Set Files = fol.files
    		For each File In Files
    			Set f = fso.OpenTextFile (File.Path,1)      
    				 If not f.AtEndOfStream Then
    				 	TestoTrovato = 0
    				 	TestoFile = f.readall
    				 	TestoCerca = Split(Testo," ")
    					For j = 0 to Ubound(Testocerca)
    						If Instrrev(TestoFile,Testocerca(j)) Then
    							TestoTrovato = TestoTrovato+1
    				 		End If
    				 	Next
    				 	If TestoTrovato = Ubound(Testocerca)+1 Then
    				 		i = i + 1
    						Redim Preserve MatFile(2,i)
    						MatFile(0,i) = File.Name
    						MatFile(1,i) = Path
    						MatFile(2,i) = FileExt(File.Name)
    						Numerofile = Numerofile + 1
    					End If
    				End If
    			Set f = nothing
    		Next
    	End Sub
    End Class
    %>

  2. #2
    ottimo lavoro

    ha un difetto che si vede a colpo d'occhio...

    cerca anche nel codice ASP...

    io cerco RESPONSE... e trovo un sacco di pagine...

    ---

    lo sto modificando un po',
    spero non ti dispiaccia
    san imente saluta

    * http://simonecingano.it *

  3. #3
    >ottimo lavoro
    Grazie

    >ha un difetto che si vede a colpo d'occhio...
    >cerca anche nel codice ASP...
    >io cerco RESPONSE... e trovo un sacco di pagine...

    è vero ma come puoi notare una proprietà della classe è
    l'estensione del file e con una semplice selezione (if o case)
    puoi escludere i file .asp dalla ricerca

    >lo sto modificando un po',
    >spero non ti dispiaccia

    nessun problema
    Buon lavoro

  4. #4
    A proposito se desideri fammi sapere dove e cosa intendi implementare
    oggi non ho molto tempo (anche voglia) e dovrei anche preparare qualcosa che in automatico sia in grado di aggiornarmi alcuni dei miei vecchi siti rendendoli compatibili con server 2003 (include,server.mapppath,ecc..) ma... vedremo.

    Ciao a tutti

  5. #5
    Originariamente inviato da FaustoWeb
    è vero ma come puoi notare una proprietà della classe è
    l'estensione del file e con una semplice selezione (if o case)
    puoi escludere i file .asp dalla ricerca
    quella non è una soluzione...

    che senso ha escludere i file ASP
    non ho neppure un sito che lavori con pagine HTML
    però vari utilizzano ASP o PHP per semplici inclusioni, statistiche o poveri calcoli...

    non avrebbe senso escluderli.

    una delle modifiche è quella di "pulire" i file ASP...
    la seconda è quella di visualizzare il testo intorno alla parola, e il numero di corrispondenze (per ordinare la lista)...

    insomma, fare un output più utile.

    se era già in tuo programma ti lascio volentieri il campo...
    san imente saluta

    * http://simonecingano.it *

  6. #6
    Quel motore di ricerca legge i file sul fileSystem.
    Se nei file non ci stanno contenuti allora è ovvio che quel motore non ha senso.
    Quel motore è utile per fare ricerche su pagine statiche.
    Se io uso pagine dinamiche che leggono i dati da un database allora il motore lo costruisco per leggere il database.

  7. #7
    Ok il codice scritto in paio d'ore non aveva le pretese
    di diventare un ottimo motore di ricerca, comunque vedrò cosa posso fare per renderlo eventualmente utile.

    Prima di pensare all'output vedrò di lavorare magari su un metodo che
    sia in grado di ricercare testi anche su siti dinamici (da db), un piccolo spider interno, certo sarebbe meglio usare altri strumenti come python (per la velocità sicuramente) vedrò cosa si può fare in asp.

    Poi vedremo anche di migliore l'output magari con il titolo, il testo, un ordinamento per rank (Numero di parole trovate per pagina),ecc....

    un ciao a tutti

  8. #8
    Originariamente inviato da Mems
    Quel motore di ricerca legge i file sul fileSystem.
    Se nei file non ci stanno contenuti allora è ovvio che quel motore non ha senso.
    Quel motore è utile per fare ricerche su pagine statiche.
    Se io uso pagine dinamiche che leggono i dati da un database allora il motore lo costruisco per leggere il database.
    ma allora sei ancora vivo
    tutto bene?

    cmq tornando IT.
    magari a te non è mai capitato, ma io ho fatto diversi siti in cui l'ASP era praticamente marginale e serviva ad esempio solo per fini di statistica ad esempio e quindi i contenuti erano fissi per un buon 90%.

    in un caso del genere il fatto che si faccia una ricerca sull'FSO (oltre che se utile unirla con una nel DB) possa essere utile.

    visto il post ho trovato due situazioni in cui mi verrebbe comodo. ma tutte le pagine sono .asp...
    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.