Как упоминалось в @SakuraFreak, вы можете проанализировать полученное JSON. Однако этот ответ JSON встроен в сам HTML, который позже преобразуется в HTML браузером JS (это то, что вы видите как <div class="lister-item-content">...</div>
.
Например, это как извлечь содержимое JSON из HTML для отображения названий фильмов / шоу из списка наблюдения:
import requests
from bs4 import BeautifulSoup
import json
url = "https://www.imdb.com/user/ur34087578/watchlist"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
details = str(soup.find('span', class_='ab_widget'))
json_initial = "IMDbReactInitialState.push("
json_leftover = ");\n"
json_start = details.find(json_initial) + len(json_initial)
details = details[json_start:]
json_end = details.find(json_leftover)
json_data = json.loads(details[:json_end])
imdb_titles = json_data["titles"]
for item in imdb_titles.values():
print(item["primary"]["title"])