Сетевая многопоточность в питоне - PullRequest
2 голосов
/ 20 октября 2011

Я пишу скрипт на Python, который будет очищать некоторые страницы с моего веб-сервера и помещать их в файл.Я использую модуль mechanize.Browser() для этой конкретной задачи.

Однако я обнаружил, что создание одного экземпляра mechanize.Browser() довольно медленно.Есть ли способ, которым я мог бы относительно безболезненно использовать многопоточность / многопроцессорность (т.е. выдавать несколько запросов GET одновременно)?

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Если вы хотите получить промышленную прочность Python, посмотрите scrapy .Он использует Twisted для асинхронных коммуникаций и очень быстр.Возможность просматривать 50 страниц в секунду - нереальное ожидание.

1 голос
/ 23 октября 2011

Используйте gevent или eventlet для получения одновременного сетевого ввода-вывода.

...