Вместо того чтобы передавать одни и те же заголовки, cookies и параметры в каждом запросе вручную, можно создать сеанс (requests.Session()), который будет всё это сохранять и переиспользовать.
Это удобнее, а главное — быстрее: повторные запросы к одному хосту идут через одно TCP-соединение.
Что даёт использование сессий:
▶️ Cookies автоматически сохраняются между запросами — как в браузере
▶️ Можно задать заголовки, которые будут подставляться во все запросы по умолчанию
▶️ Заголовки, переданные в конкретном запросе, переопределяют заголовки сессии
▶️ Если явно передать None вместо значения — такой заголовок отключается только в этом запросе
▶️ Cookies, переданные напрямую в метод запроса, сохраняются только на время запроса. Чтобы они сохранялись между вызовами — нужно добавить их в саму сессию
▶️ Сессии можно использовать как контекстный менеджер (with), чтобы автоматически закрыть соединение
Session() упрощает код и ускоряет работу, особенно если бот или скрипт делает серию запросов к одному сайту.
❤ — если узнал что-то новое
😎 — если уже использовал
tags: #обучение
➡ Python Developer | Чат
