J'ai fait beaucoup de scraping force brute avec PHP et le traitement séquentiel semble être bien. Je ne suis pas sûr que "ce qui est long" pour vous, mais je fais souvent d'autres choses pendant qu'il gratte.
Typiquement rien ne dépend de mon grattage en temps réel, c'est les données qui comptent, et je gratte habituellement et masser en même temps.
D'autres fois, je vais utiliser une commande astucieuse wget pour abattre un site et enregistrer localement. Ensuite, ayez un script PHP avec de la magie regex pour extraire les données.
J'utilise curl_ * en PHP et ça marche très bien.
Vous pourriez avoir un travail parent qui forge des processus fils en leur fournissant des URL à gratter, qu'ils traitent et enregistrent les données localement (db, fs, etc.). Le parent est responsable de s'assurer que la même URL n'est pas traitée deux fois et que les enfants ne se bloquent pas. Facile à faire sur linux (pcntl_, fork, etc), plus dur sur les boîtes de fenêtres.
Vous pouvez également ajouter une logique pour regarder la dernière modification et (que vous avez précédemment stocké) et ignorer la page si le contenu n'a pas changé ou vous l'avez déjà. Il y a probablement un tas de trucs d'optimisation comme ça que vous pourriez faire.
Yep forking semble être la meilleure option pour moi. – Tim