Выбор между HTTP-клиентами Python urllib3 и запросами

Встроенные HTTP-клиенты Python не имеют многих функций, поэтому даже в документации по Python рекомендуется использовать запросы. Но есть также urllib3, который сам использует запросы, и у них есть общие разработчики ядра, что заставляет меня думать, что они скорее дополняют друг друга, чем конкурируют.

Когда я буду использовать urllib3 вместо запросов? Какие функции запросы добавляют поверх urllib3?


person David Ehrmann    schedule 07.12.2018    source источник
comment
Чтобы упростить вещи: requests — это синтаксический сахар, urllib3 выполняет всю тяжелую работу внизу.   -  person wim    schedule 07.12.2018


Ответы (1)


Запросы проводились на основе инкапсуляции urlib3. Поскольку запросы уже являются инкапсулированной библиотекой, многие функции можно упростить. Например: настройка времени ожидания, настройка прокси-сервера, загрузка файлов, получение файлов cookie и т. д. Однако запросы можно использовать только напрямую и нельзя вызывать асинхронно, поэтому запросы выполняются медленно. Итак, если вы пишете маленьких пауков, не требующих большой скорости, рассмотрите возможность использования запросов.

person shyorange    schedule 07.12.2018