- Home
- Categorie
- Società, Web e Cultura
- GT Fetish Cafè
- Archivio Contest & Esperienze
- Teecno
- spider "osvi"
-
senti un po osvi, mi dovresti spiegare un po ste righe (nn ke nn le capisca ma adesso sto un po rinco
$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 +
-
uhm no non è codice mio, è dello spider originale
il tf*idf "è nel" campo w^woznihack^ : ti aggiungo
-
@osvi said:
uhm no non è codice mio, è dello spider originale
il tf*idf "è nel" campo w^woznihack^ : ti aggiungo
mamma mia... chiunque l'abbia scritto si dovrebbe nascondere... praticamente il server muore solo per fare il for...
Io direi che questo:
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 ";
}va cambiato con questo
$total = sizeof($tot_key);
for ($i=0;$i<$total;$i++)
{
$str_sql .= "termine = '$tot_key*'";
if ($i < $total-1)
$str_sql .= ' OR ';
}il resto nn lo ho letto... mi sono rifiutato
-
non mi pare che qui qualcuno voglia sfidare google, stiamo solo parlando di algoritmi per poi portare il tutto (in un secondo momento) in un linguaggio più performante di php
chiunque l'abbia scritto si dovrebbe nascondere...
non so chi ha scritto quel codice, non mi sembra la fine del mondo: dopo tutto si vede di molto peggioil resto nn lo ho letto... mi sono rifiutato
nessuno ti obbliga a partecipare :bho:
-
@denadai2 said:
mamma mia... chiunque l'abbia scritto si dovrebbe nascondere... praticamente il server muore solo per fare il for...
mmm... commenti non utili allo sviluppo del progetto.
(OT) .. Scusa, ma è normale che ci siano cose da migliorare e da creare è un progetto nato da poco, l'importante è avere una base da cui partire e su cui sviluppare tutte le proposte. (/OT)
dai se hai 10 minuti ..
guarda il resto del codice e proponi le migliorie.
Grazie!
-
@davalletall said:
mmm... commenti non utili allo sviluppo del progetto.
(OT) .. Scusa, ma è normale che ci siano cose da migliorare e da creare è un progetto nato da poco, l'importante è avere una base da cui partire e su cui sviluppare tutte le proposte. (/OT)
dai se hai 10 minuti ..
guarda il resto del codice e proponi le migliorie.
Grazie!il mio commento credo sia molto + utile della tua riflessione... io ho corretto il codice e se nn lo sapete era grave... obbligava ad ogni ciclo di for il riconteggio di tutto l'array.... un array di 100 elementi voleva dire 100 riconteggi
Volete trasformarlo in un linguaggio piu performante di php? Beh in primo luogo è da pazzi in secondo luogo gli algoritmi si studiano anche senza provarlo con uno script. Di sicuro io nn faccio una cosa che deve essere rifatta...
-
@denadai2 said:
Volete trasformarlo in un linguaggio piu performante di php? Beh in primo luogo è da pazzi in secondo luogo gli algoritmi si studiano anche senza provarlo con uno script. Di sicuro io nn faccio una cosa che deve essere rifatta...
Per me si può fare anche in un altro linguaggio.
L'importante è che questo progetto deve farci crescere tutti insieme, quindi evitiamo di cadere in certi commenti che possono risultare offensivi.
chiunque l'abbia scritto si dovrebbe nascondere..
Può essere che abbia scritto il più brutto ciclo for della storia del php, ma nessuno ha la licenza di offendere.
So che denadai2 non voleva offendere nessuno e che il suo commento era molto probabilmente ironico, ma evitiamolo in futuro.
Questo progetto deve andare avanti con l'aiuto di tutti ed essere portato avanti insieme.
Quindi dicevamo....altro linguaggio?
Era quello che volevamo, trasformiamolo pure per renderlo più performante...
Volontari?
-
@Giorgiotave said:
Per me si può fare anche in un altro linguaggio.
L'importante è che questo progetto deve farci crescere tutti insieme, quindi evitiamo di cadere in certi commenti che possono risultare offensivi.
Può essere che abbia scritto il più brutto ciclo for della storia del php, ma nessuno ha la licenza di offendere.
So che denadai2 non voleva offendere nessuno e che il suo commento era molto probabilmente ironico, ma evitiamolo in futuro.
Questo progetto deve andare avanti con l'aiuto di tutti ed essere portato avanti insieme.
Quindi dicevamo....altro linguaggio?
Era quello che volevamo, trasformiamolo pure per renderlo più performante...
Volontari?
si era ironico. Io non sto partecipando per un fattore di tempo e perchè voi volete troppe cose... ho osservato varie discussioni e PHP secondo voi nn va bene. Mysql fa schifo e bisogna trovare tutti i possibili linguaggi e databases alternativi.
In + ho visto in un tuo precendente post che vorresti pure fare un porting in c++. Robe da matti! è da suicidio...Se restiamo su PHP e mysql vi posso ottimizzare il codice (soprattutto lato db visto che è sempliciotto).
PS giorgio... quando mai sei su msn?
-
@denadai2 said:
mamma mia... chiunque l'abbia scritto si dovrebbe nascondere... praticamente il server muore solo per fare il for...
L'ho scritto io, mi dovrei nascondere? naaaaaaaaa
@denadai2 said:
Io non sto partecipando per un fattore di tempo e perchè voi volete troppe cose...
Volere è potere!
Prima di tutto ti ringrazio per aver ottimizzato il ciclo for allegerendo il calcolo, sono sicuro che ci sono tanti altri miglioramenti possibili da fare nel codice. Nei tuoi post hai espresso le tue opinioni riguardo al linguaggio e al database da usare e il tuo pensiero relativo al progetto, alcune cose che dici le condivido e la penso come te ma altre cose no assolutamente.
Che ci siano cose da migliorare è normale siamo qui per questo!
Il perchè è semplice e te lo spiego subito, ho scritto il codice di teecno perchè mi interessava il progetto e volevo imparare qualcosa di nuovo mettendo a disposizione di tutti ciò che imparavo, le problematiche che incontravo e le possibili soluzioni. Preso da queste motivazioni, preso principalmente dalla passione mi sono trovato a sviluppare una applicazione in php su server linux utilizzando come database mysql, anche se io si dolito lavoro con Asp,Asp.NET su server Windows utilizzando come database Ms Sql Server 2000. In più quando ho scritto il codice mi trovavo in un momento in cui il lavoro richiedeva una presenza costante di 12 ore al giorno (siccome lavoro in proprio i problemi toccano a me e li devo risolvere) era il periodo per matrimonio, quindi ti lascio immaginare tutto quello che bisogna organizzare, finire piccoli aggiustamenti per la casa, scelta dei mobili (arrivano, non arrivano, mancano dei pezzi e tanti altri problemi), insomma un periodo molto intenso. Il tempo per imparare php e scrivere il codice l'ho trovato la mattina prestissimo oppure la sera tardi o per meglio dire la notte.
Bada bene, con questo non voglio giustificare gli errori presenti nel codice, ne assolutamente voglio innescare una serie di post battibecchi che non porterebbero a niente, ma voglio spiegarti il mio modo di affrontare le cose.
La soluzione più semplice da adottare nella mia condizione era quella di non partecipare motivandola con "non ho tempo", aspettare che qualcun'altro avesse iniziato a scrivere il codice di teecno e poi accodarmi per dare un minimo di contributo, magari una piccola ottimizzazione, invece siccome sono per la condivisione delle conoscenze e credo nei progetti di gruppo sepcialmente in quelli open source mi sono fatto avanti dando la scintilla che ha acceso il tutto, sperando che dalla scintilla grazie all'aiuto di tante persone (aiuto come quello che hai dato tu) si passi ad un progetto concreto.@denadai2 said:
In + ho visto in un tuo precendente post che vorresti pure fare un porting in c++. Robe da matti! è da suicidio...
Si parlava di un diverso linguaggio come il C++ per lo spider, io ad esempio considero che realizzare uno spider in php sia un pò una forzatura (anceh se quello attuale è proprio in php) perchè secondo me il processo di spiderizzazione dovrebbe essere tipo un demone di background, ovvero deve correre sempre, lavorare sempre, putroppo per far ciò in php dobbiamo usare stratagemmi quali il refresh automatico quando l'esecuzione della pagina è terminata (oppure una schdeulizzazione) per ottenere una sorta di lavoro continuo.
Ciò non toglie che se decidiamo tutti insieme di lasciare lo spider in php lo si lascia tranquillamente e lo si migliora, accettiamo idee e pensieri da tutti.P.s. se vuoi unirti anche tu al progetto sei il benvenuto, anche se hai poco tempo, non richiediamo una presenza costante, non è un obbligo, quando puoi dai il tuo contributo.
Saluti
Tony.
-
se si lascia lo spider in php io partecipo.
Cmq evidentemente nn sei a conoscenza della potenza di php. Guarda il sito www.hwmod.net. Ha un "demone" che lavora in background e ogni ora viene lanciato uno script da cron in automatico via terminale diciamo.
Praticamente in linux come in windows uno script si può lanciare via console facendo php a.php o php.exe a.php.
Lo spider si gestisce con una "coda" scritta in una tabella mysql delle tabelle da passare. Ogni volta che viene eseguito lo spider lui seleziona una riga, la cancella e visita il sito inserendo i dati in un altra tabella.
Quando termina riparte e fa la stessa cosa: seleziona, cancella visita e cosi via.Il c++ a questo punto nn serve giusto? In + non c'è nemmeno la scusa di "php è di scripting quindi è lento" perchè il tcp/ip è + lento ancora il che distrugge la differenza tra i due.
-
@denadai2 said:
se si lascia lo spider in php io partecipo.
Cmq evidentemente nn sei a conoscenza della potenza di php. Guarda il sito www.hwmod.net. Ha un "demone" che lavora in background e ogni ora viene lanciato uno script da cron in automatico via terminale diciamo.
Praticamente in linux come in windows uno script si può lanciare via console facendo php a.php o php.exe a.php.
Lo spider si gestisce con una "coda" scritta in una tabella mysql delle tabelle da passare. Ogni volta che viene eseguito lo spider lui seleziona una riga, la cancella e visita il sito inserendo i dati in un altra tabella.
Quando termina riparte e fa la stessa cosa: seleziona, cancella visita e cosi via.Il c++ a questo punto nn serve giusto? In + non c'è nemmeno la scusa di "php è di scripting quindi è lento" perchè il tcp/ip è + lento ancora il che distrugge la differenza tra i due.
quoto totalmente ciò ke ha scritto denadai.
W il php e la sua potenza.
-
@denadai2 said:
se si lascia lo spider in php io partecipo.
No, tu partecipi se ti leggi il regolamento delle firme sul forum, che la tua è grande come immagine
Ironia con Ironia no?
-
Ciao scusate quando visito le statistiche php-stats, vedo che le pagine di alcuni siti che ho fatto sono visitate da spider, scusate l'ignoranza a che servono? Possono danneggiare? devo cautelarmi? Grazie
-
@dif79 said:
Ciao scusate quando visito le statistiche php-stats, vedo che le pagine di alcuni siti che ho fatto sono visitate da spider, scusate l'ignoranza a che servono? Possono danneggiare? devo cautelarmi? Grazie
Gli spider sono come dei browser, non danneggiano siti, all'incontrario, portano benefici perchè ti scansionano le pagine del tuo sito e le inseriscono nei motori di ricerca quindi si ha una maggiore provabilità di visite..
-
Grazie e dachi vengono spediti?
Io vedo dalle mie statistiche tipo googlebot 2.1 è direttamente google che lo manda?
è un browser che posso utilizzare anche io?
-
@dif79 said:
Grazie e dachi vengono spediti?
Io vedo dalle mie statistiche tipo googlebot 2.1 è direttamente google che lo manda?
è un browser che posso utilizzare anche io?googlebot è lo spider del famoso motore di ricerca di google...
Ho detto che sono ocme browser per farti capire che questi spider recuperano le pagine del tuo sito e non daneggiano in alcun modo il tuo sito... Però non è un browser per navigare in web tipo Internet Explorer, è un programma creato apposto per recuperare le pagine, analizzare, dare un punteggio, memorizzare le cache ecc... che poi questi dati vengono usati dal motore di ricerca...
-
Salve a tutti,
sono nuovo del forum e vi posso fare i miei complimenti sul progetto che state creando.
Tuttavia avrei alcuni suggerimenti da dare (sempre se vengono accettati), del tipo che trovo errata l'idea di creare uno spider in php, in quanto i grossi motori di ricerca non utilizzano spider in php ma bensì in c, c++, c# o java, altro consiglio che vi posso dare è di evitare di utilizzare un db mysql perchè anche essendo open source, essendo un programmatore ed utilizzando diversi db ho notato che sql server o ancora meglio oracle, risultino più affidabili su dimensioni di 5 o 6gb.
Se siete interessati posso aggregarmi se cerchiamo di realizzare uno spider in c# e cambiamo db, altrimenti possiamo creare un progetto parallelo in questi linguaggi.
Per qualsiasi cosa mi potete contattare su msn: [EMAIL="[email protected]"][email protected][/EMAIL]Ciao a tutti
-
Ciao, benvenuto nel progetto Teecno (per la prima volta faccio io le presentazioni) :p.
Tutto quello che hai detto è giustissimo, ma ti chiarisco le idee nel caso tu non avessi letto gli altri 3d.
Riguardo alla scelta del PHP, ci sono state altre discussioni in questo forum.. si è parlato di altri linguaggi ma.. si è giunti alla conclusione che momentaneamente PHP va benissimo perchè potrebbe anche essere lanciato da crontab (vedi discussione spider). Comunque resta il fatto che in futuro potrebbero essere adottati linguaggi più performanti (...in FUTURO).
Per quanto riguarda il database MySQL, ci sono già un paio di discussioni aperte ma te le riassumo in breve: dicono che MySQL sia molto prestante anche in caso di grosse dimensioni di dati (esperienze di alcuni utenti). Comunque.. (anche qui c'è il comunque) Teecno è un progetto open source quindi, usando database proprietari come Oracle o Sql Server (credo microzozz.. boh..!) non sarebbe più tale.
Si vogliono sviluppare progetti paralleli in altri linguaggi? Che ben vengano..credo che anche Giorgio e gli altri siano favorevoli.Ciao, e alla prossima.
P.S. = non ci interessa essere la concorrenza dei GRANDI MOTORI DI RICERCA.. sarebbe impossibile, se non inutile!