@fleksss_pod_papicha

Как сохранять онлайн на сайте?

Есть страница с чатом, когда пользователь находится на странице чата, то он отображается в чате как онлайн, если пользователь закрывает страницу с чатом, соответственно в чате он больше не отображается, вопрос, можно ли сделать как то с помощью python кроме селениума, присутствие в чате?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Технологий - "держать онлайн" всего несколько, нужно знать, какая конкретно используется на конкретном сайте.
- web socket - самая распространенная, но немного сложноватая со стороны клиента, смотрите в сторону https://websockets.readthedocs.io/en/stable/
- long pooling (или comet) - открываем соединение и тупо висим на нем - реализуется очень просто, через любую http-библиотеку, например через python requests - https://requests.readthedocs.io/en/master/
- sse (server sent event) - аналог предыдущей, он с особенностями. реализуется через те же библиотеки, но лучше взять "с особенностями", например https://pypi.org/project/sseclient/
- ну и последнее, опрос по таймауту - тупо, раз в некоторый промежуток обращаемся по заданному url, тут в помощь все те же http-клиенты, и знание, что дергать со стороны сайта.
Ах да, есть еще технология graphql, там есть механизм "подписок", основанный на websockets. Здесь нужно будет добраться до url и нужной подпиской, отправив несколько http запросов, и только после этого открыть нужный url через web-socket.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы