Представьте, что вам нужно скачать 100 страниц сайта. Если делать это через обычный
requests.get(), каждый раз будет происходить следующее:1. Открытие соединения (TCP Handshake).
2. Настройка шифрования (SSL/TLS).
3. Отправка данных.
4. Закрытие соединения.
Это очень долго! 🐢
Решение: Session
Сессия позволяет переиспользовать одно и то же соединение для множества запросов. Это дает огромный прирост скорости.
Пример:
import requests
# Создаем сессию
with requests.Session() as s:
# Можно сразу настроить заголовки для всех запросов
s.headers.update({'User-Agent': 'my-app/0.0.1'})
for i in range(5):
# Используем s.get вместо requests.get
r = s.get(f"https://httpbin.org/get?page={i}")
print(f"Запрос {i} выполнен!")
💡Сессия также запоминает куки (cookies). Если вы авторизовались на сайте в первом запросе, сессия "запомнит" это для следующих.
Используйте сессии, если делаете больше двух запросов к одному сайту!
📲 Мы в MAX
Подписывайтесь на канал 👉@pythonofff