Как я могу ускорить получение страниц с urllib2 в Python?

У меня есть скрипт, который выбирает несколько веб-страниц и анализирует информацию.

(Пример можно увидеть наhttp://bluedevilbooks.com/search/?DEPT=MATH&CLASS=103&SEC=01 )

Я запустил cProfile и, как я предполагал, urlopen отнимает много времени. Есть ли способ получить страницы быстрее? Или способ получить несколько страниц одновременно? Я сделаю все самое простое, так как я новичок в разработке на Python и в Интернете.

Заранее спасибо! :)

ОБНОВЛЕНИЕ: у меня есть функция под названиемfetchURLs(), который я использую, чтобы сделать массив URL-адресов, мне нужно, что-то вродеurls = fetchURLS()URL-адреса - это все XML-файлы из Amazon и API eBay (что смущает меня, почему загрузка занимает так много времени, может быть, мой веб-хост работает медленно?)

Что мне нужно сделать, это загрузить каждый URL, прочитать каждую страницу и отправить эти данные в другую часть скрипта, которая будет анализировать и отображать данные.

Обратите внимание, что я не могу выполнить последнюю часть, пока ВСЕ страницы не будут извлечены, вот в чем моя проблема.

Кроме того, я считаю, что мой хост ограничивает меня 25 процессами одновременно, поэтому все, что проще на сервере, было бы неплохо :)

Вот это время:

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)

Ответы на вопрос(11)

Ваш ответ на вопрос