Ciao a tutti,
devo realizzare una sorta di spider molto semplice e mi piacerebbe ricevere dei consigli da voi.
Il tutto deve funzionare così:
- in un database vengono inseriti gli url da visitare
- ogni notte lo spider si attiva e visita le pagine per ricavarne alcune informazioni
Per la gestione del database e l'attivazione automatica dello spider nessun problema (MySQL e crontab).
Mi chiedo come dovrà invece funzionare lo script php:
- se mettiamo gli url da analizzare sono 1000 non posso farlo in un ciclo: infatti se il timeout per ricevere le informazioni dalla socket è di 20sec, moltiplicato per il numero delle pagine il mio script in php eccederà sicuramente il timeout di esecuzione di uno script php;
- potei forse mettere nel crontab un'invocazione diversa dello spider per ogni url presente nel database? Non mi sembra elegante e presuppone che io debba modificare da php il crontab ad ogni inserimento di un nuovo url nel database..
- potrei fare una pagina spider.php che legge un url presente nel database, lo analizza e poi si autoinvoca con un header() andando a lavorare sull'url successivo? Anche qua però non mi pare il massimo..
- esiste la possibilità di creare una pagina spider.php che legge tutti gli url nel database e per ognuno lancia un thread? In questo modo il tutto sarebbe asincrono.. ma si può fare in php? Ho provato a cercare su html.it e su google.. ma non ne ho cavato un ragno dal buco..
E se mettiamo ci siano 1000 url nel database, il lancio di 1000 thread può uccidermi il server?
Bho, come avrete capito non so quale sia la via più intelligente, se qualcuno può aiutarmi gli sarei immensamente grato..
Ciao a tutti e buon anno!