Самый чоткий способ, если данные динамически подгружаются, это юзать `Selenium`. Ловишь весь JS, эмулируешь браузер и вперед:
Программный код:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
CHROMEDRIVER_PATH = 'chromedriver' # Путь к драйверу
URL = 'http://example.com'
options = Options()
options.headless = True
driver = webdriver.Chrome(service=Service(CHROMEDRIVER_PATH), options=options)
driver.get(URL)
# Пример парсинга текста элемента
element = driver.find_element(By.XPATH, '//h1')
print(element.text)
driver.quit()
Используй это, если запросы не помогают.