• User

    Proposta nuovo algoritmo per lo Spider

    Buongiorno a tutto il forum di giorgiotave.it.
    proprio ieri, googlando un pò alla ricerca di progetti open source italiani, ho trovato un gruppo di user del forum di giorgiotave.it che ha fatto una fantastica proposta per realizzare un motore di ricerca open source tutto spaghetti e mandolino.
    si, forse v sarete accorti che sto parlando di questo forum e di questo progetto e v dico che appena ho cominciato a leggere i primi 3d ho detto "questo è il progetto che fa al caso mio, pieno di stimoli e molto avvincente".
    Finita la pappardella di routine, inizio a collaborare attivamente a questo progetto proponendo un nuovo (modifica del precedente) algoritmo per lo spider di Teecno.
    Stamattina in classe ho approfittato delle ore di letteratura :eheh: per studiare l'algoritmo attualmente utilizzato in spider.php e ho notato che per indicizzare un sito all'interno del motore, bisogna per forza suggerirlo tramite il form. :mmm:
    L'algoritmo che ho pensato invece, prevede sia l'indicizzazione manuale sia quella semi-automatica. Principalmente l'algoritmo divide in due parti il lavoro dello spider:

    • salva nel db il link suggerito con il relativo contenuto della pagina e mediante una funzione ricorsiva recupera tutti i link presenti nella pagina per N volte (numero di "passate") scelto dai programmatori;
    • ogni X giorni (o minuti, ore, mesi....ecc) prelevando uno ad uno i link dal database creato tramite la prima fase, si creano le KEYWORDS con l'algoritmo TF*IDF.

    Per entrambe le fasi, momentaneamente si può utilizzare codice scritto in PHP , tuttavia.. per la seconda fase (la più lunga) si potrebbe incorrere in problemi di TIMEOUT da parte del server :x(ostacolo facilmente superabile utilizzando dei redirect consecutivi) quindi in futuro sarebbe meglio implementare codice PERL o PYTHON sia per velocizzare le operazioni, sia per automatizzarle :vaiii::vaiii:(CGI-BIN).

    Detto ciò, lascio alla comunità il miglioramento di questa idea di base (dopotutto l'OpenSource funziona così no?).

    Complimenti a tutti per il lavoro finora effettuato e spero di poter contribuire con codice "mio" al progetto in futuro, dato che momentaneamente sono impegnatissimo.
    Dai ragazzi.. continuiamo così, questo progetto ROXA :vaiii:.. e magari tra qualche anno saluteremo dall'alto il motore di ricerca con 2O :sbav:!!!
    OPEN SOURCE IS LIFE!!!


  • User

    si xò è un po complesso il problema del timeout come fai a sapere quando a finito di eseguire il file?


  • User

    il problema del timeout è praticamente risolto..ho già usato questo metodo per altre mie applicazioni.
    in pratica facendo delle prove, supponendo di chiamare TP il tempo medio che ci mette lo scritp ad effettuare il parsing di un link alla ricerca delle keywords e supponendo di chiamare T il tempo di timeout del server, T/TP darà il numero massimo dei link che possono essere parsati per volta. Facendo un altra semplice divisione NUMERO TOTALE LINK / MAX LINK PARSATI PER VOLTA si ottengono il numero di redirect necessari per completare l'operazione di parsing di tutti i link. poi con i redirect e il passaggio dei parametri via GET o POST si parsano uno ad uno i link del database.
    Vuoi un metodo + semplice di questo?? :yuppi:


  • User

    ingegnoso 😄


  • Community Manager

    Ciao ^woznihack^,

    hai detto PYTHON? o C? :D:D

    Ringraziandoti per questo apprezzamento al progetto vorrei, prima di farti partire in 4 (sono convinto che darai molto), farti leggere qualcosa.

    C'è un progetto Spider già in corso.

    E' importantissimo che tu legga prima questo.

    Quando hai finito di leggere entrambi...ritorna qui 🙂

    :ciauz:


  • User

    ho finito di leggere entrambi i post 😄 .. ho già risposto ad Osvi per comunicargli la mia disponibilità a collaborare al suo progetto e magari quella di unire le idee per creare uno spider "semi-autonomo" in php. Buona giornata a tutti!!