Python: urllib2 или Pycurl?

У меня большой опыт работы с PHP cURL, но последние несколько месяцев я кодировал в основном на Java, используя библиотеку HttpClient.

Мой новый проект требует от меня использования Python, что снова ставит меня на перекресток, казалось бы, сопоставимых библиотек: pycurl и urllib2.

Если отбросить мой предыдущий опыт работы с PHP cURL, какую библиотеку рекомендуется использовать в Python? Есть ли причина использовать одно, а другое нельзя? Какой вариант более популярен?


person Marco    schedule 23.01.2010    source источник
comment
Всегда используйте стандартную библиотеку, если она вам подходит. Меньше хлопот и повышенная портативность!   -  person jathanism    schedule 23.01.2010
comment
См. Краткое и четкое объяснение stackoverflow.com/questions/2385855/   -  person pevik    schedule 16.01.2014


Ответы (4)


CURL имеет гораздо больше функций, как указано на его веб-странице, поэтому, если вам нужно, скажем, быстрые одновременные соединения, безопасные Threading и т. д., тогда это для вас. Однако в раздачу он не входит. Если вы предвидите, что ваша задача очень проста, то используйте urllib2 и те HTTP-модули, которые идут в комплекте.

person ghostdog74    schedule 23.01.2010

urllib2 является частью стандартной библиотеки, pycurl - нет (поэтому требуется отдельный этап загрузки / установки / пакета и т. Д.). Уже одно это, не считая разницы во внутреннем качестве, гарантированно сделает urllib2 более популярным (и может быть довольно хорошей прагматической причиной для его выбора - удобство! -).

person Alex Martelli    schedule 23.01.2010
comment
К счастью, установить pycurl оказалось очень просто: sudo apt-get install pycurl :) - person Marco; 23.01.2010

В настоящее время есть и другие отличные альтернативы - urllib3 и запросы

person Piotr Dobrogost    schedule 26.01.2012

Используйте urllib2. У него очень хорошая документация на python, а pycurl - это в основном документация на C. Если вы ударились о стену, переключитесь на механизацию или pycurl.

person wisty    schedule 23.01.2010