2010-07-01 4 views
3

Je suis actuellement en train de récupérer et d'analyser des pages d'un site Web en utilisant urllib2. Cependant, ils sont nombreux (plus de 1000), et leur traitement séquentiel est douloureusement lent.Python 2.6: analyse parallèle avec urllib2

J'espérais qu'il y avait un moyen de récupérer et d'analyser les pages de manière parallèle. Si c'est une bonne idée, est-ce possible et comment puis-je le faire? En outre, quelles sont les valeurs "raisonnables" pour le nombre de pages à traiter en parallèle (je ne voudrais pas mettre trop de pression sur le serveur ou être banni parce que j'utilise trop de connexions)?

Merci!

Répondre

3

Vous pouvez toujours utiliser des unités d'exécution (c'est-à-dire exécuter chaque téléchargement dans un fil distinct). Pour les grands nombres, cela pourrait être un peu trop de ressources, dans ce cas, je vous recommande de regarder gevent et plus précisément this example, qui peut être juste ce dont vous avez besoin.

(de gevent.org: « gevent est une bibliothèque Python réseau basée coroutine qui utilise Greenlet pour fournir une API synchrone à haut niveau sur le dessus de la boucle d'événements libevent »)

+0

Cela semble bon, je vais vérifier IT out. Merci! –