@IUniner

Какой способ Парсинга на Python динамического элемента из POST запроса сайта?

import requests
from bs4 import BeautifulSoup


songsNameList = []

url = f"https://top-radio.ru/web/russkij-xit"
q = requests.get(url)
result = q.content

soup = BeautifulSoup(result, 'lxml')
songs = soup.select("#se_igra")

for song in songs:
    print(song.find('span'))
    songsNameList.append(song.find('span'))


От сайта необходимо получить данные текущей композиции. В обзоре запросов эти данные приходят в виде ответа в gif формате и отображаются только в браузере. Как обработать страницу без использования движка браузеров?
На снимках результат работы кода и post-запрос от сайта.

6117e10a4fe05871156586.png
6117e11323300180192258.png
  • Вопрос задан
  • 298 просмотров
Решения вопроса 1
@cython
Как видно на сайте, текущая композиция получается подключение по websocket и ajax запросом для получения колонки "Что сейчас играет". Если хотите получить композицию, которая играет в текущий момент, то можете делать ajax запрос на https://top-radio.ru/ajax, отправляя тело запроса с сайта + достаёте id со страницы, и парсить результат: 6117e670db85b834120431.png
Если хотите получать информацию об обновлении в реальном времени через websockets, подключаясь к wss://ws.auto-messenger.ru/app/123124, указывая название радио первым сообщением, то можете использовать библиотеку для python "websockets":
6117e6a6d93f3348074976.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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