я использую visual stuido code и там запускаю этот код
# Импортируем необходимые библиотеки
import requests
from bs4 import BeautifulSoup
from textblob import TextBlob
import matplotlib.pyplot as plt
import seaborn as sns

# Функция для получения отзывов и рейтингов пользователя
def get_reviews_and_ratings(film_url, num_reviews=10):
    reviews = []
    ratings = []
    print(f"Собираем отзывы и рейтинги для: {film_url}")
    
    try:
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
        }
        html_text = requests.get(film_url, headers=headers).text
        
        soup = BeautifulSoup(html_text, 'html.parser')

        # Ищем отзывы и рейтинги
        user_reviews_section = soup.select_one("#user-reviews")
        
        if user_reviews_section:
            review_sections = user_reviews_section.find_all('section')  # Получаем все секции отзывов
            print(f"Найдено секций отзывов: {len(review_sections)}")  # Проверяем, сколько секций отзывов найдено
            
            for i in range(min(num_reviews, len(review_sections))):
                section = review_sections[i]
                
                # Извлекаем текст отзыва
                review_text_elem = section.select_one("div.styles_body__ogQ3_ > div.styles_text__AYoL6.styles_textTruncated__bU17o > span")
                if review_text_elem:
                    reviews.append(review_text_elem.get_text(strip=True))

                # Извлекаем оценку
                rating_elem = section.select_one("div.styles_head__NrOB5 > div.styles_summaryInfo__oT8kL > span.styles_srRoot__WgbFG")
                if rating_elem:
                    rating_text = rating_elem.get_text(strip=True)
                    ratings.append(rating_text)  # Рейтинг как текст (положительный/негативный)

        else:
            print("Не удалось найти секцию с отзывами.")

    except Exception as e:
        print(f"Ошибка при сборе отзывов: {e}")

    return reviews, ratings

# Основные ссылки на фильмы
film_urls = [
    "https://kinopoisk.ru/film/535341/",
    "https://kinopoisk.ru/film/258687/",
    "https://kinopoisk.ru/film/326/",
    "https://kinopoisk.ru/film/435/",
    "https://kinopoisk.ru/film/397667/",
    "https://kinopoisk.ru/film/361/",
    "https://kinopoisk.ru/film/448/",
    "https://kinopoisk.ru/film/370/",
    "https://kinopoisk.ru/film/3498/",
    "https://kinopoisk.ru/film/328/"
]

# Сбор отзывов и рейтингов
all_reviews = []
all_ratings = []
for film_url in film_urls:
    reviews, ratings = get_reviews_and_ratings(film_url)
    all_reviews.append(reviews)
    all_ratings.append(ratings)

# Анализ тональности отзывов
sentiment_scores = []

for review in all_reviews:
    for text in review:
        analysis = TextBlob(text)
        sentiment_scores.append(analysis.sentiment.polarity)

# Сравнение оценок
sns.set(style="whitegrid")
plt.figure(figsize=(14, 7))
plt.plot(range(len(manual_ratings)), manual_ratings, marker='o', label='Рейтинг от пользователя', color='blue')
plt.plot(range(len(sentiment_scores)), sentiment_scores, marker='o', label='Анализ тональности', color='orange')
plt.xticks(range(len(film_urls)), [f"Фильм {i+1}" for i in range(len(film_urls))])
plt.xlabel('Фильмы')
plt.ylabel('Оценка')
plt.title('Сравнение пользовательских оценок и оценки по тональности')
plt.legend()
plt.show()

# Печать результатов
for i in range(len(film_urls)):
    print(f"\nФильм: {film_urls[i]}")
    print(f"Отзывы: {all_reviews[i]}")
    print(f"Оценка тональности: {sentiment_scores[i]}")  # Печатаем только одно значение для соответствия
сделай так, чтобы если нашлась капча на сайте кинопокоиска, то у меня вылезет это окно в хроме и я мог подтвердить вручную