Не могу узнать количество подписчиков на ютуб с помощью питон

Рейтинг: 0Ответов: 1Опубликовано: 14.01.2023

Пытаюсь написать парсер который узнает количество подписчиков питон. Постоянно выдает ошибку ValueError: substring not found

import requests


def get_cont(html):
    findStr = '"subscriberCountText":{"runs":[{"text":"'
    р = html.index(findStr) + len(findStr)
    count = ''
    while html[р] != '"':
        count += html[p]
        р += 1
    return count


def parserus(channel):
    html = requests.get('https://www.youtube.com/' + channel)
    if html.status_code == 200:
        return get_cont(html.text)
    else:
        print("Ошибочка вышла")


print(parserus('@shuravi'))

Хотел просто выводить количество подписчиков, пробовал смотреть разные туториалы но ничего не помогло. Если есть возможность, то очень прошу актуальные туториалы, своими силами ничего дельного не нашел P.S Заранее извиняюсь за оформление, мой первый вопрос ещё и пишу поздно ночью.

Ответы

▲ 1Принят

Сообщение об ошибке

"substring not found"

указывает на то, что строка "subscriberCountText":{"runs":[{"text":"' отсутствует в исходном коде HTML, который вы пытаетесь проанализировать. Это означает, что структура веб-сайта изменилась, и скрипт больше не может найти количество подписчиков в исходном HTML-коде.

Возможно, веб-сайт изменил свою структуру или конкретный элемент, который вы пытаетесь найти, больше не присутствует. Также возможно, что веб-сайт блокирует ваши запросы, потому что считает их парсингом.

Чтобы решить эту проблему, вам нужно найти новое расположение счетчика подписчиков в исходном коде HTML и соответствующим образом обновить свой скрипт. Вы можете использовать инструменты разработчика своего браузера, чтобы проверить исходный HTML-код веб-сайта и найти новое местоположение счетчика подписчиков.