Wie kann ich das Abrufen von Seiten mit urllib2 in Python beschleunigen?

Ich habe ein Skript, das mehrere Webseiten abruft und die Informationen analysiert.

(Ein Beispiel finden Sie unterhttp: //bluedevilbooks.com/search/? DEPT = MATH & CLASS = 103 & SEC = 01 )

Ich habe cProfile darauf ausgeführt, und wie ich angenommen habe, nimmt urlopen viel Zeit in Anspruch. Gibt es eine Möglichkeit, die Seiten schneller abzurufen? Oder eine Möglichkeit, mehrere Seiten gleichzeitig abzurufen? Ich werde alles tun, was am einfachsten ist, da ich neu in der Python- und Webentwicklung bin.

Danke im Voraus! :)

UPDATE: Ich habe eine Funktion namensfetchURLs(), das ich benutze, um ein Array der URLs zu erstellen, die ich brauche, also so etwas wieurls = fetchURLS(). Die URLs sind alle XML-Dateien von Amazon und eBay APIs (was mich verwirrt, warum das Laden so lange dauert, vielleicht ist mein Webhost langsam?)

Ich muss nur jede URL laden, jede Seite lesen und diese Daten an einen anderen Teil des Skripts senden, der die Daten analysiert und anzeigt.

Bitte beachten Sie, dass ich den letzten Teil erst dann ausführen kann, wenn ALLE Seiten abgerufen wurden.

Auch mein Host beschränkt mich auf 25 Prozesse gleichzeitig, ich glaube also, was auf dem Server am einfachsten ist, wäre nett:)

Hier ist es soweit:

Sun Aug 15 20:51:22 2010    prof

         211352 function calls (209292 primitive calls) in 22.254 CPU seconds

   Ordered by: internal time
   List reduced from 404 to 10 due to restriction <10>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
       10   18.056    1.806   18.056    1.806 {_socket.getaddrinfo}
     4991    2.730    0.001    2.730    0.001 {method 'recv' of '_socket.socket' objects}
       10    0.490    0.049    0.490    0.049 {method 'connect' of '_socket.socket' objects}
     2415    0.079    0.000    0.079    0.000 {method 'translate' of 'unicode' objects}
       12    0.061    0.005    0.745    0.062 /usr/local/lib/python2.6/HTMLParser.py:132(goahead)
     3428    0.060    0.000    0.202    0.000 /usr/local/lib/python2.6/site-packages/BeautifulSoup.py:1306(endData)
     1698    0.055    0.000    0.068    0.000 /usr/local/lib/python2.6/site-packages/BeautifulSoup.py:1351(_smartPop)
     4125    0.053    0.000    0.056    0.000 /usr/local/lib/python2.6/site-packages/BeautifulSoup.py:118(setup)
     1698    0.042    0.000    0.358    0.000 /usr/local/lib/python2.6/HTMLParser.py:224(parse_starttag)
     1698    0.042    0.000    0.275    0.000 /usr/local/lib/python2.6/site-packages/BeautifulSoup.py:1397(unknown_starttag)

Antworten auf die Frage(22)

Ihre Antwort auf die Frage