Как сканировать YouTube в 2026 году: методы, которые действительно по-прежнему работают

Как сканировать YouTube в 2026 году: методы, которые действительно по-прежнему работают

YouTube — один из крупнейших источников общедоступных веб-данных в Интернете: более 800 миллионов видеороликов, миллиарды комментариев, текстовые транскрипты большинства загруженных материалов, а также структурированные метаданные, которые лежат в основе всего — от маркетинговых исследований до обучения искусственного интеллекта. Кроме того, это один из наиболее тщательно защищенных ресурсов в сети, и методы, которые позволяли извлекать данные с него три года назад, сегодня в основном уже не работают.

Эта статья заменяет более старое руководство, которое было технически верным в 2022 году. Сейчас оно уже не актуально. YouTube значительно ужесточил свои меры по борьбе с ботами до 2025 года: токены Proof of Origin теперь ограничивают доступ ко многим конечным точкам, при загрузке большинства страниц с видео требуются файлы cookie с данными о посетителе, а диапазоны IP-адресов центров обработки данных вызывают CAPTCHA-проверки уже после нескольких сотен запросов. CSS-селекторы, используемые в старых руководствах, не соответствуют текущей разметке YouTube. Даже данные о «дизлайках», на которые ссылаются эти руководства, не доступны публично с ноября 2021 года.

Вот что действительно работает в 2026 году — код, который действительно запускается.

Устали от того, что IP-блокировки тормозят вашу работу? Воспользуйтесь нашими прокси-серверами из частных сетей для высокоскоростной ротации или безопасными прокси-серверами от интернет-провайдеров, чтобы обеспечить максимальный срок службы аккаунта.

Что можно собирать с помощью скрейпинга (а что — нет)

Общедоступные данные:

  • Метаданные видео — название, описание, количество просмотров, дата загрузки, канал, продолжительность, теги
  • Данные канала — название, описание, количество подписчиков (приблизительное), список видео, информация на странице «О канале»
  • Комментарии — включая ответы, количество лайков, метки времени
  • Транскрипты и субтитры — для любого видео с включенными субтитрами
  • Результаты поиска — полные страницы результатов поиска (SERP) по любому запросу
  • Плейлисты — полное содержание и метаданные
  • Записи чатов в реальном времени — для завершившихся трансляций

Запрещено независимо от метода:

  • Личные видео
  • Непубличные видео, URL-адреса которых у вас нет
  • Всё, что находится за входом в систему, которой не принадлежит данная учетная запись
  • Данные о взаимодействии отдельных зрителей
  • Точное количество подписчиков (YouTube публично отображает только округленные цифры)

Важен и правовой аспект: Условия предоставления услуг YouTube ограничивают автоматизированный доступ. Сбор открытых данных в целом разрешен законом в большинстве юрисдикций, однако нарушение Условий предоставления услуг может привести к блокировке аккаунта, а в некоторых случаях — к гражданскому иску. Не собирайте данные, доступ к которым требует входа в систему. Не собирайте личную информацию, выходящую за рамки того, что публично отображается. Не распространяйте видеоконтент. Если вы собираете данные для обучения ИИ, указывайте источник и уважайте права авторов — в этой сфере все активнее применяются Закон ЕС об ИИ и аналогичные нормативные акты.

Четыре метода, о которых стоит знать

В 2026 году существует четыре подхода — выбор подходящего из них зависит от того, чего вы хотите добиться и в каком масштабе.

МетодИдеально подходит дляТребуется авторизацияМасштаб
API данных YouTube v3Структурированные запросы, небольшой и средний объемКлюч APIОграничено (10 000 единиц квоты в день бесплатно)
yt-dlpВсё остальное — метаданные, комментарии, стенограммы, пакетная обработкаНет (файлы cookie для некоторых видео)От среднего до высокого с использованием прокси-показателей
youtube-transcript-apiТолько стенограммыНетСредний
Пользовательский скрапинг (запросы + InnerTube)Особые случаи, не охваченные вышеуказаннымНетРазвитая инфраструктура

На практике в большинстве крупных проектов в качестве основного инструмента используется yt-dlp, а к другим прибегают только в тех случаях, когда yt-dlp не справляется с задачей.

Способ 1: YouTube Data API v3

Самый чистый вариант, когда это уместно. Официальный API Google возвращает структурированные данные в формате JSON для видео, каналов, плейлистов, результатов поиска и комментариев. Здесь нет никаких препятствий, связанных с защитой от ботов — запрос либо выполняется успешно, либо возвращает чёткую ошибку, связанную с квотой.

Загвоздка в квоте. В рамках бесплатного тарифа вам предоставляется 10 000 единиц в день. A videos.list Один вызов стоит 1 единицу; один поиск — 100. Это примерно 100 поисковых запросов в день или 10 000 запросов метаданных видео. Для многих сценариев использования этого вполне достаточно; но для масштабных задач это бесполезно.

python

from googleapiclient.discovery import build

API_KEY = "YOUR_API_KEY"
youtube = build("youtube", "v3", developerKey=API_KEY)

# Get metadata for a specific video
response = youtube.videos().list(
    part="snippet,statistics,contentDetails",
    id="dQw4w9WgXcQ"
).execute()

video = response["items"][0]
print(video["snippet"]["title"])
print(video["statistics"]["viewCount"])
print(video["contentDetails"]["duration"])

Используйте API, если объем ваших запросов укладывается в квоту и вам нужны чистые и стабильные данные. Подайте заявку на увеличение квоты, если у вас есть обоснованное деловое обоснование — Google одобряет такие заявки для реальных приложений, но не для случаев типа «Я разрабатываю скрейпер».

Способ 2: yt-dlp

yt-dlp — это де-факто стандарт для всего того, что API не охватывает должным образом. Это активно поддерживаемый форк youtube-dl, не требующий API-ключа и позволяющий обрабатывать метаданные, комментарии, транскрипты и загрузки с помощью одного инструмента.

Установка:

bash

pip install yt-dlp

Получить метаданные для одного видео без скачивания:

python

import yt_dlp

def get_video_metadata(url):
    opts = {
        "quiet": True,
        "skip_download": True,
        "no_warnings": True,
    }
    with yt_dlp.YoutubeDL(opts) as ydl:
        info = ydl.extract_info(url, download=False)
    return {
        "title": info.get("title"),
        "channel": info.get("uploader"),
        "views": info.get("view_count"),
        "likes": info.get("like_count"),
        "duration_sec": info.get("duration"),
        "upload_date": info.get("upload_date"),
        "description": info.get("description"),
        "tags": info.get("tags", []),
    }

data = get_video_metadata("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
print(data)

Извлечь комментарии (включая ответы):

python

import yt_dlp

def get_comments(url, max_comments=500):
    opts = {
        "quiet": True,
        "skip_download": True,
        "getcomments": True,
        "extractor_args": {
            "youtube": {
                "max_comments": [str(max_comments)],
                "comment_sort": ["top"],
            }
        },
    }
    with yt_dlp.YoutubeDL(opts) as ydl:
        info = ydl.extract_info(url, download=False)
    return info.get("comments", [])

comments = get_comments("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
for c in comments[:5]:
    print(f"{c['author']}: {c['text']} ({c['like_count']} likes)")

Пакетный сбор списка идентификаторов видео из результатов поиска:

bash

yt-dlp --flat-playlist -j "ytsearch50:web scraping tutorial" | jq -r '.id'

Несколько практических советов, которых нет в большинстве руководств:

  • Регулярно обновляйте yt-dlp. YouTube регулярно обновляет экстрактор — как минимум раз в месяц. Использование устаревшей версии — главная причина того, что скрипты по непонятным причинам возвращают пустые результаты. pip install -U yt-dlp должно быть включено в ваш график технического обслуживания.
  • Для просмотра видео с возрастными ограничениями требуются файлы cookie. Экспортировать файлы cookie из сеанса браузера и передать их через cookiefile в ydl_opts.
  • Для работы с большими объёмами данных требуются прокси-серверы. Без них вы быстро достигнете лимитов частоты запросов и столкнётесь с блокировкой IP-адресов. Подробнее об этом — ниже.

Способ 3: youtube-transcript-api

Если вам нужны только стенограммы — а это происходит всё чаще, поскольку текст стенограмм является наиболее полезным исходным материалом для анализа контента с помощью моделей большого языка (LLM) — youtube-transcript-api он легче и быстрее, чем yt-dlp.

python

from youtube_transcript_api import YouTubeTranscriptApi

def get_transcript(video_id, languages=("en",)):
    try:
        transcript = YouTubeTranscriptApi.get_transcript(
            video_id, languages=list(languages)
        )
        return " ".join(entry["text"] for entry in transcript)
    except Exception as e:
        print(f"No transcript available: {e}")
        return None

text = get_transcript("dQw4w9WgXcQ")
print(text[:500] if text else "None")

Транскрипты органично сочетаются с анализом тональности, конвейерами RAG и любыми рабочими процессами на основе больших языковых моделей (LLM), в которых требуется извлечение текстового контента из видео. Это один из самых быстрорастущих сценариев использования скрапинга в 2026 году.

Способ 4: InnerTube и ytInitialData

В особых случаях — например, при работе с данными канала, конкретными маркерами продолжения или любой другой информацией, которую вышеуказанные инструменты не предоставляют в удобном виде, — можно напрямую обращаться к внутренним конечным точкам YouTube. Фронтенд использует закрытый API по адресу /youtubei/v1/, и на большинстве страниц с видео встраивается ytInitialData Объект JSON в <script> тег, содержащий состояние отображаемой страницы.

Этот способ менее надежен, чем другие — YouTube периодически меняет структуру — но при этом он является самым гибким:

python

import requests
import re
import json

def extract_initial_data(video_url):
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
                      "AppleWebKit/537.36 (KHTML, like Gecko) "
                      "Chrome/120.0.0.0 Safari/537.36",
    }
    response = requests.get(video_url, headers=headers)
    match = re.search(r"var ytInitialData = ({.*?});</script>", response.text)
    if not match:
        return None
    return json.loads(match.group(1))

data = extract_initial_data("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
# data is the full page state — navigate it for whatever you need

Используйте этот подход только в тех случаях, когда другие методы не подходят для данной ситуации. Структура ytInitialData огромна и постоянно меняется; для навигации по ней каждый раз приходится тщательно изучать инструменты разработчика браузера.

Уровень прокси

При превышении нескольких сотен запросов в день с одного IP-адреса YouTube начинает принимать ответные меры. В 2026 году наблюдается следующая закономерность: сначала 429 Too Many Requests, затем мягкий блок, при котором запросы выполняются успешно, но возвращаются неполные данные, а затем жесткий блок, при котором каждый запрос наталкивается на экран с просьбой «войти, чтобы подтвердить, что вы не бот».

Эффективность масштабного сбора данных зависит от трёх факторов:

Тип IP-адреса. IP-адреса центров обработки данных блокируются уже после нескольких сотен запросов. Прокси-серверы, расположенные в жилых районах или принадлежащие интернет-провайдерам, обходят эту блокировку — для YouTube трафик с жилого IP-адреса выглядит как трафик обычного пользователя, подключенного через домашнее интернет-соединение.

Схема ротации. Для yt-dlp стандартом является ротация IP-адресов при каждом запросе видео. При скрапинге на основе сеансов (страничная навигация по комментариям, просмотр канала) «фиксированные» сеансы (использование одного и того же IP-адреса в течение 10–30 минут) выглядят более естественно, чем ротация в середине сеанса.

Географическое распределение. YouTube предоставляет разный контент для разных регионов. Если вы собираете данные, специфичные для конкретных регионов — списки трендов, локализованные результаты поиска, доступность видео в разных регионах — ваши прокси-серверы должны находиться в этих регионах.

Подключение прокси к yt-dlp не представляет сложности:

bash

yt-dlp --proxy "http://USER:PASS@proxy.example.com:8080" \
       --skip-download --write-info-json \
       "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

Или на Python:

python

opts = {
    "quiet": True,
    "skip_download": True,
    "proxy": "http://USER:PASS@proxy.example.com:8080",
}

Для сбора данных на основе запросов (метод 4, приведённый выше):

python

proxies = {
    "http": "http://USER:PASS@proxy.example.com:8080",
    "https": "http://USER:PASS@proxy.example.com:8080",
}
response = requests.get(video_url, headers=headers, proxies=proxies)

Прокси IPBurger — как домашние, так и прокси-серверов интернет-провайдеров — созданы именно для такой работы: чистые IP-адреса, таргетинг на уровне страны, «липкие» сессии, когда они нужны. При этом общий принцип действует независимо от провайдера: при значительных объемах нагрузки именно прокси-слой является несущей частью системы. Скрипт для сбора данных состоит из 50 строк; от инфраструктуры зависит, дойдет ли он до конца или застрянет на 30 %.

Разумный рабочий процесс по умолчанию

Если вы сегодня запускаете проект по сбору данных с YouTube, вот какой подход обеспечит его масштабируемость:

  1. Определите, какие данные вам действительно нужны. В большинстве проектов не требуется использовать все данные — сужение области охвата позволяет избежать нецелевого использования квоты и сократить количество потенциальных препятствий.
  2. Сначала попробуйте использовать API YouTube Data, если он подходит. Если ваш объем не превышает 10 000 единиц в день и API предоставляет необходимые вам данные, это самый надежный вариант.
  3. Если API не подходит, воспользуйтесь yt-dlp. Он поддерживает работу с комментариями, транскриптами, пакетными операциями и любыми задачами, основанными на результатах поиска.
  4. Как только начнут появляться ошибки 429, добавьте уровень прокси-серверов с домашними адресами. Не пытайтесь обойти ограничитель скорости, полагаясь только на задержки — если ваш IP-адрес попал в черный список, то он там и останется.
  5. Для обработки больших объемов транскрипций используйте youtube-transcript-api. Этот инструмент менее ресурсоемкий, чем yt-dlp, и работает быстрее при выполнении именно этой задачи.
  6. Индивидуальные запросы + InnerTube — только в тех случаях, когда ничего другого не подходит. Стоит знать об этом, но не стоит начинать с этого.
  7. Разрабатывайте с учетом возможных сбоев. Все, что вы выпускаете сегодня, перестанет работать в течение шести месяцев. YouTube меняет интерфейс, экстрактор успевает адаптироваться, вы обновляете зависимости. Будьте к этому готовы.

Что на самом деле изменилось с 2022 года

Для тех, кто переходит с более старой конфигурации для сбора данных, стоит обратить внимание на следующие существенные изменения:

  • Данные о «дизлайках» утрачены. В ноябре 2021 года YouTube удалил публичные показатели количества «дизлайков». Восстановить их невозможно; оценки «дизлайков», предоставленные сторонними ресурсами, носят предположительный характер.
  • Теперь токены Proof of Origin ограничивают доступ ко многим конечным точкам потокового вещания и подробных метаданных. yt-dlp обрабатывает это внутренне, когда это возможно; при ручном сборе данных с этим приходится работать явно.
  • Файлы cookie, содержащие данные о посетителях, необходимы для загрузки большинства страниц с видео. Новый IP-адрес без «разогретой» сессии часто сталкивается с окном запроса согласия вместо самого видео.
  • CSS-селекторы из старых учебников не совпадают. В 2023 и 2024 годах YouTube значительно реорганизовал свой интерфейс. Любой учебник, в котором упоминаются такие классы, как yt-uix-tile-link ссылается на версию разметки, которой уже много лет не существует.
  • Стоимость квот для некоторых конечных точек увеличилась. Для поиска она по-прежнему составляет 100 единиц, но для некоторых других конечных точек она изменилась. Перед составлением сметы ознакомьтесь с актуальным руководством по квотам.

Честный обзор

Сбор данных с YouTube в 2026 году — задача более выполнимая, чем кажется: с 2022 года инструментарий значительно улучшился (yt-dlp — действительно отличный инструмент), а официальный API надежно справляется с подходящими задачами. Сложность заключается не в логике сбора данных, а в лежащей в ее основе инфраструктуре. Используйте прокси-серверы частных пользователей или провайдеров, еженедельно обновляйте инструменты и предусматривайте меры на случай неизбежных сбоев — и данные будут ваши.

Успех вашего бизнеса напрямую зависит от времени безотказной работы ваших прокси-серверов. Перейдите на статические прокси-серверы бизнес-класса от интернет-провайдера, чтобы обеспечить выделенную пропускную способность и непоколебимую надежность. ИЛИ внедрите ротирующиеся прокси-серверы для частных пользователей и достигните коэффициента успешности сбора данных на уровне 99,9%.

В этой статье:
Хватит беспокоиться о качестве вашего прокси

Наши статические прокси-серверы от интернет-провайдера гарантированно чисты и на 100 % выделены исключительно для вас. Никаких общих нагрузок — только высокая производительность.

Получить статические прокси-серверы интернет-провайдеров

Еще глубже погрузиться в тему

Как безопасно управлять несколькими скрытыми аккаунтами на eBay, не рискуя получить бан
Прокси для электронной коммерции
Дональд
Как безопасно управлять несколькими «скрытыми» аккаунтами на eBay в 2026 году, не рискуя получить бан

Ведение «скрытого» аккаунта на eBay в 2026 году сопряжено с большим риском, чем думает большинство продавцов. Маржа ошибки постоянно сокращается. В 2024 году eBay заблокировал более 37 000 аккаунтов из-за IP-адресов

Прокси-серверы
Эй Джей Тейт
Как мы едва не потеряли более 1500 постоянных клиентов и как нам удалось их удержать

Наши самые преданные клиенты ценят только одно — свой постоянный и быстрый статический «свежий»/частный IP-адрес. Эти «свежие»/частные и статические IP-адреса относятся к диапазонам, которые

Готовы попробовать прокси, которые справятся с этой задачей?

Настраивается менее чем за 60 секунд. Ему доверяют более 24 100 компаний по всему миру.

Setup in <60 seconds
Отменить в любое время
Круглосуточная поддержка в режиме реального времени