• Super User

    spider "osvi"

    uso questo thread per la versione "osvi" dello spider image

    lo spider quando pronto sarà in grado di:

    • leggere gli header inviati dal server (301 aggiorno gli url nel db, 503 taggo come ricontrollare, 200 scarico, ecc)
    • gestire il robots.txt (parser già scritto va solo ricontrollato e ottimizzato)
    • eliminare i commenti dal codice e tutte le cose inutili
    • prendere le parole e metterle in un array (con ricorrenza importanza ecc)
    • prendere i link e analizzare le sottopagine (gestendo il nofollow)
    • testo e titolo <a>
    • spider rss (vedi post di Giorgio)

    pensavo di usare una tabella del database con le pagine da esaminare, che ne dite?
    ah per inserire nel database.. non ho ben capito (anche perchè non ho letto il codice php e soprattutto la teoria per bene) come funzionano le tabelle del lessico ecc, quindi se a qualcuno andrà di scrivere un po' di documentazione, o semplicemente spiegarmelo, oppure fare una classe dove gli passo il vettore, ...

    :ciauz:


  • Community Manager

    Ciao Osvi 🙂

    Che ne dici se gli facciamo rendere anche il testo dei link? 🙂 (lo fai già? :D)

    Un'altra cosa 🙂

    Che ne pensi se tramite gli rss, creassimo uno spider in grado di estrapolare i seguenti dati:

    titolo dell'argomento
    link
    nome del link

    Questo per assegnare un punteggio ai link.

    Fammi sapere. Tony è alla prese con il SubVersion, è un pò un casino ma ce la farà 😄

    :ciauz:


  • Super User

    lo so che configurare subversion è un impresa biblica 😞 forse è meglio se usiamo source forge, oppure opensvn, all'inizio almeno.. anche per non appesantire troppo il server di teecno

    hai ragione per il testo dei link (sia dell'ancora sia del title)
    però per come è strutturato il database non saprei come metterlo

    mmmh devo ragionare un po' su una nuova struttura per il database 😄

    per gli rss: non ho ben capito cosa vuoi fare :sto:
    uno spider rss?


  • Community Manager

    @osvi said:

    lo so che configurare subversion è un impresa biblica 😞 forse è meglio se usiamo source forge, oppure opensvn, all'inizio almeno.. anche per non appesantire troppo il server di teecno

    Non è un problema, prendiamo un server solo per Teecno e lasciamo il subversion in questo server, su GT 🙂

    Poi compriamo anche un secondo server per Teecno, che useremo con i siti che usano Teecno come motore interno, ma ti questo ne parleremo tra qualche giorno in un altro topic 😉

    @osvi said:

    hai ragione per il testo dei link (sia dell'ancora sia del title)
    però per come è strutturato il database non saprei come metterlo

    mmmh devo ragionare un po' su una nuova struttura per il database 😄
    E si 😄

    @osvi said:

    per gli rss: non ho ben capito cosa vuoi fare :sto:
    uno spider rss?
    Si. Praticamente dagli Rss noi estrapoliamo i dati.

    Questo per vari motivi:

    • creare un motore che usi anche gli RSs per aggiornarsi (e poi uno specifico per le news :2:
    • creare un archivio mensile di link (per assegnare i punteggi)

    In questo modo osvi, noi sappiamo che questo mese una risorsa è stata linkata con la chiave X, X volte. L'articolo aveva la chiave nel Title anche.

    Capisci....possiamo giocarci, imparare e studiare molte cose 🙂

    No? 😉

    Oltre a questo, puntare sugli Rss


  • Super User

    ah sì, certo 🙂

    un parser rss è anche 100 volte più semplice di uno html
    accodo alla lista 😄

    edit non mi fa modificare il messaggio 😄 puoi mettere te

    • testo e titolo <a>
    • spider rss (vedi post di Giorgio)
      ? 😄

  • Community Manager

    @osvi said:

    ah sì, certo 🙂

    un parser rss è anche 100 volte più semplice di uno html
    accodo alla lista 😄

    edit non mi fa modificare il messaggio 😄 puoi mettere te

    • testo e titolo <a>
    • spider rss (vedi post di Giorgio)
      ? 😄

    Oki, mi rifai il messaggio e me lo posti in pvt? 😄 NOn ho capito bene,
    ora ti rispondo al privato 🙂


  • Super User

    fate in modo che interpreti correttamente anche gli html entities, poi, eh ;):)


  • Super User

    si infatti non sarà un problema 🙂
    avevo già notato che con il codice attule vengono spazzate via

    lo spider è in programmazione
    non lo sto facendo ad oggetti come spiegato nell'altro thread, cmq una conversione in futuro sarebbe indolore (maledetta debian ma php5 quando lo rilasci?)
    ancora è troppo presto anche per uno snapshot, cmq volevo dire ci sto lavorando non è che ho aperto il thread solo per fare qualcosa 😄

    vi aggiorno appena ho qualcosa di "alpha"


  • Community Manager

    Osvi tutto bene dalle tue parti? 🙂


  • Super User

    purtroppo, devo essere sincero - non ho avuto né tempo né modo
    spero di poter sfornare qualcosa di "usabile" appena possibile... non saprei dirti una data (che probabilmente non rispetterei)
    prometto però che domenica riguardo il codice già scritto e preparo uno schema di cosa fare, come continuare, ecc

    ti faccio sapere 🙂

    qualcuno sa come dezendare uno script php?[/ot]


  • Community Manager

    @osvi said:

    purtroppo, devo essere sincero - non ho avuto né tempo né modo
    spero di poter sfornare qualcosa di "usabile" appena possibile... non saprei dirti una data (che probabilmente non rispetterei)
    prometto però che domenica riguardo il codice già scritto e preparo uno schema di cosa fare, come continuare, ecc

    ti faccio sapere 🙂

    Ottimo e molto interessante 🙂

    Sopratutto il come continuare, grazie mille e fai con calma Osvi 😉

    Giorgio


  • Super User

    visto che si mette male e non esco, ci lavoro ora

    a seconda dei risultati aggiornerò questo post e/o upperò il lavoro parziale su svn 🙂


  • Super User

    primo aggiornamento: ho cambiato lo schema del database
    sistemo il codice di spider.php (senza aggiungere migliorie) rendendolo compatibile col nuovo schema e pubblico


  • Community Manager

    Okey Perfetto 🙂


  • Super User

    qualcun'altro si vuole aggregare a me?
    in due sarebbe più semplice e più veloce 😄

    info msn:samy_morgan§msn.com gtalk:francesco.monte§gmail.com


  • User

    se vuoi ti posso aiutare io 😄


  • Super User

    fantastico ti aggiungo a msn


  • User

    ciao Osvi, nn avendo letto questo 3d sullo spider parallelo ne avevo aperto uno nuovo (scusami). cmq se vuoi possiamo fondere le idee .. la tua mi sembra molto buona.. è quasi come intendevo realizzare io lo spider.
    se uniamo le idee e il codice già scritto da te con quelle mie (ho detto mie? ..bhè è open source... quindi di tutti) credo ke avremo un potente web-developed spider....
    infatti come già accennato in altri post lo spider vero e proprio nn sarà fatto in php ma in un linguaggio più veloce.. o magari sarà realizzato un eseguibile apposta da inserire tipo nella crontab del server (sempre se è *unix).

    Io ci sto al tuo progetto...aggiungimi ad msn e vedremo. Cmq momentaneamente posso darti solo supporto mentale e non fisico (in pratica idee ma non codice) perchè sn occupato tra relazioni scolastiche e lavori da comletare. Buona giornata a tutti!


  • User

    senti un po osvi, mi dovresti spiegare un po ste righe (nn ke nn le capisca ma adesso sto un po rinco :1:

    $result=mysql_query("INSERT INTO ricerche (id_ricerca, ricerca, ip, data, useragent) values (null,'$str_key','$ip','$dataora','$user')",$conn);
    for ($i=0;$i<sizeof($tot_key);$i++){
    $str_sql = $str_sql."termine = '$tot_key*'";
    if ($i < sizeof($tot_key)-1) $str_sql = $str_sql." OR ";
    }

    if ($algo == 2) { //se algoritmo scelto è Tf*DF
    $sql = "SELECT url FROM (docstore INNER JOIN plist ON docstore.id_doc = plist.id_doc) INNER JOIN lessico ON lessico.id_termine = plist.id_termine WHERE (".$str_sql.") GROUP BY url"; //query per il calcolo dei record totali restituiti
    $result=mysql_query($sql,$conn);
    $tot_num_risult = mysql_num_rows($result);

    $sql = "SELECT url, corpo, SUM(w) as w FROM (docstore INNER JOIN plist ON docstore.id_doc = plist.id_doc) INNER JOIN lessico ON lessico.id_termine = plist.id_termine WHERE (".$str_sql.") GROUP BY url,corpo  ORDER BY w DESC LIMIT $limit_inf,10"; //query dei risultati da mostrare
    

    }

    qua in pratica applici il tf*idf ma le formule dove le applichi?
    mi sembra ke tu hai creato una tabella apposta x fare le operazioni, ma nn cio capito un caxxo, dopo me ce rimetto bene e cerco di capi, se intanto tu vuoi darmi dei chiarimenti in + 😄


  • Super User

    uhm no non è codice mio, è dello spider originale 🙂
    il tf*idf "è nel" campo w

    ^woznihack^ : ti aggiungo 🙂