Простой парсер для youtube в гугл таблицах / Хабр
Предыстория
Появилась задача собрать данные по 2000+ youtube видео, из которых необходимо было извлечь название видео, канала и язык.Функция IMPORTXML, с помощью которой можно выполнять парсинг с сайтов, — не помогла, поскольку, как оказалось в дальнейшем, youtube хранит данные в JSON файлах. Перебирать руками такое количество видео не хотелось и я начал искать способы как автоматизировать или хотя бы упростить эту задачу.
Нашел старую статью 15 года на Хабре, в которой описано как получить количество просмотров видео, но с момента ее публикации youtube обновил API и мне необходимо было получить немного другие данные.
В процессе решения задачи с помощью youtube API и гугл таблиц получилось не только извлечь данные по заранее подготовленному списку видео URL, но также парсить выдачу youtube по ключевому слову.
Находясь в дичайшем восторге от результата, я решил поделиться своим опытом и описать процесс немного подробнее.
Сам метод конечно же не идеален. Его можно охарактеризовать как простое решение на очень скорую руку. Но пока не начал изучать Python (надеюсь этот день рано или поздно настанет) приходится все делать по старинке в таблицах.
Подготовка
Для работы парсера, как и в оригинальной статье, нам понадобится скрипт ImportJSON и youtube API.ImportJSON
Скачиваем скрипт с github и устанавливаем в таблицу через инструменты >> редактор скриптов.Youtube API
Получаем свой API — ключ Youtube Data API V3 в библиотеке и создаем под него учетные данные. Предварительно, конечно же, делаем учетную запись, если еще не зарегистрированы в google cloud.Информация о видео хранится в JSON файле, который доступен по ссылке:
www.googleapis.com/youtube/v3/videos?id={Video_ID}&key={API_Key}&part={Part_Parametr}где
Video_ID — идентификатор видео
API_Key — ключ API который вы получите в консоли
Part_Parametr — часть файла в которой хранится информация
Части файла могут быть нескольких видов:
snippet — содержится практически вся базовая информация о видео:
1. дата публикации
2. название видео
3. название канала
4. идентификатор канала
5. описание под видео (Description)
6. категория видео (номер)
7. теги
contentDetails — содержит продолжительность и разрешение видео.
topicDetails — содержит категорию видео в виде ссылки на википедию с названием категории, однако этот раздел не всегда бывает заполнен.
statistics
1. просмотры
2. количество комментариев
3. лайки
4. дизлайки
В целом это основные части, которые могут вам понадобиться, но полный список, если что, есть в справке.
Получение данных по списку URL
Рассмотрим работу парсера на примере обзора badcomedian. Для того чтобы получить информацию о видео нам нужен только его идентификатор (Video_ID), в данном случае это EOWa0fmSGs8.Получаем и структурируем информацию при помощи формулы ImportJSON и языка запросов XPath.
Так выглядит JSON файл на сервере:
Формула для получения количества просмотров в таблицах:
=ImportJSON(»https://www.googleapis.com/youtube/v3/videos?id=EOWa0fmSGs8&key={API_Key}&part=statistics»; «/items/statistics/viewCount»; »noHeaders»)В принципе, XPath можно и не использовать в запросе, но тогда вы получите все содержимое JSON файла, без сегментации по параметрам. Создав необходимое количество формул с XPath параметрами вы получите только нужные данные, которые будет легче обрабатывать.
Получение списка видео по ключевому запросу
Принцип парсинга выдачи такой же, как и в примере выше, но немного меняется структура запроса.В данном случае JSON файл с результатами выдачи по видео находится по ссылке
www.googleapis.com/youtube/v3/search?part=snippet&q={Your_Query}&type=video&key={API_Key}где параметр type указывает на то, что именно мы получим на выходе:
type=video — список видео релевантных запросу
type=channel — список каналов
type=playlist — список плейлистов
Также дополнительно в запросе можно указывать:
1. дату публикации или диапазон дат
2. регион и язык поиска
3. продолжительность видео
4. количество результатов (по умолчанию 5, максимальное 50) и т.д.
Полный список параметров и конструктор запросов есть по ссылке.
Чтобы получить список ID по запросу badcomedian используем формулу:
=ImportJSON(» www.googleapis.com/youtube/v3/search?part=snippet&q=badcomedian&type=video&key={API_Key} «; «/items/id/videoId»; »noHeaders»)ImportJSON отлично работает совместно с функцией СЦЕПИТЬ, которая и позволяет нам изменяя различные параметры совершать массовый анализ или парсинг видео.
Пример того, как организована таблица:
Минус метода
Серьезный минус данного метода парсинга информации — быстрое исчерпание дневного лимита запросов к API. Я не нашел способ как ограничить количество запросов или же создать последовательное обращение к API. То есть попытка спарсить инфо по 10+ ключам одновременно гарантированно приведет к ошибке — окончание суточного лимита запросов. Поэтому приходится разбивать ключевые слова на небольшие группы и сохранять полученные результаты как значения.Парсер YouTube — Light Adaptive CMS
Light Adaptive CMS — это 2 в одном:
1. Парсер YouTube каналов, видео, комментариев и другого контента.
2. На выходе вы получаете полноценный видео ресурс с контентом, адаптивным дизайном, оптимизацией PageSpeed, микроразметкой и прочим полезным функционалом.
Вам больше не нужно в ручную парсить видео с ютуба сторонними скриптами, после чего подбирать CMS будущего сайта и собирать всё во едино.
Уникальность системы заключается в том, что всего в несколько кликов разворачивается полноценный, оптимизированный, легкий, сайт с адаптивным дизайном, наполняемый видео и текстовым контентом, включая комментарии, похожие видео и т.д.
Просто укажите какие видео каналы нужны на Вашем сайте, остальное система сделает за несколько минут
МикроразметкаВстроенная микроразметка Open Graph, schema.
Вы получаете из коробки уже оптимизированный сайт с показателями Google PageSpeed в зеленой зоне 90–100
АдаптивностьLight Adaptive CMS включает в себя шаблон, который уже адаптирован под мобильные устройства
Парсер ютуб — LACMS
Уникальный инструмент, отлично подходит для создания личного видео блога, достаточно указать ID вашего канала на YouTube и через несколько минут весь контент Вашего канала будет доступен на Вашем сайте, включая комментарии (ограничение количества комментариев можно указать в настройках).
Широкий функционал позволяет использовать LACMS в самых разных целях от создания личного Видео блога, до видео портала, а тонкая настройка позволит указать все необходимые параметры.
- Система позволяет парсить не ограниченное количество YouTube каналов
- Также успешно Вы можете удалить любой канал, отдельное видео, или комментарий в два клика
- Помимо существующих комментариев, есть возможность оставлять новые комментарии
- Мы используем плеер с блокировкой кликабельности стандартных ссылок с YouTube плеера
Light Adaptive CMS — это парсер YouTube контента в два клика, все что от Вас требуется это указать id каналов, на выходе Вы получаете полноценный легкий, оптимизированный сайт по версии PageSpeed Insights. Адаптивный дизайн с микроразметкой для расширенных сниппетов в поисковых системах.
В любой момент Вы можете добавить контент на Ваш ресурс, добавив ID нужных каналов в админ панели. В настройках можно указать ограничение количества комментариев, а также минимальное кол-во символов в каждом комментарии.
С примером сайта на Light Adaptive CMS можно ознакомиться по ссылке ниже:
Пример сайтаЧто нужно для установки
Light Adaptive CMS
Для установки LACMS от Вас потребуются базовые знания, такие как: регистрация домена, аренда vps, загрузка файлов на сервер и создание базы данных
01 Регистрация доменного имени
Зарегистрируйте домен у любого регистратора, с него в дальнейшем будет доступен Ваш сайт.
02 Аренда хостинга или VPS
Для установки LACMS необходимо арендовать хостинг или VPS сервер, мы рекомендуем остановить Ваш выбор на VPS сервере, так как не у каждого хостинга есть доступ к файлам конфигурации домена nginx
03 Системные требования
LACMS может работать на любой операционной системе Linux, Unix, OS/X. Для работы сайта должен быть установлен php, Nginx + PHP-FPM + MySQL
Полезные сервисы
Перечень некоторых фишек, которые положительно влияют на поведенческие факторы, поисковые системы ценят сайты работающие для людей, а не для просмотра рекламы.
МикроразметкаБлагодаря структурированным данным Ваш контент будет выделяться среди другой выдачи поисковых систем
Адаптивная система рейтинга, поможет Вашему посетителю определиться с выбором качественного видео контента
Умный поискПо мере роста популярности запросов, поисковые подсказки помогут посетителям быстро находить нужный контент
Фильтр и сортировкаСистема сортировки и фильтрации, на странице поиска, поможет самому требовательному посетителю
КомментарииЕсть возможность оставлять новые комментарии под видео, внешний вид не отличается от существующих
История просмотраС функцией «история просмотра», Вы всегда можете вернуться к ранее просмотренным страницам сайта
Адаптивность
Адаптивный шаблон сайта, отвечает всем требованиям поисковых систем, касаемо верстки для любых устройств, включая мобильные.
PageSpeed
Очень важно чтоб ресурс соответствовал всем требованиям поисковых систем, и скорость загрузки сайта не исключение. Мы проработали все пункты, чтоб Вы из коробки получили уже оптимизированный сайт, в зеленой зоне, с показателем 90-100.
Цена
Для продвинутых пользователей мы создали бюджетный вариант приобретения полноценного продукта, при этом функционал LACMS ни чем не отличается. Если Вы решили оплатить полную версию, мы установим CMS на Ваш VPS, или выделенный сервер, поможем с настройкой, полная техническая поддержка, и консультации по дальнейшему развитию проекта.
Developer
$199 / разово- Полная версия
- Адаптивный шаблон
- Не ограниченный парсинг
- Открытый исходный код
- Установка на Ваш VPS
- Настройка конфигурации
- Техническая поддержка
Купить сейчас
AdvancedUltimate
$399 / разово- Полная версия
- Адаптивный шаблон
- Не ограниченный парсинг
- Открытый исходный код
- Установка на Ваш VPS
- Настройка конфигурации
- Техническая поддержка
Купить сейчас
Часто задаваемые вопросы
- Я оплатил тариф «Ultimate», как скоро будет установка?
Сразу после оплаты, с Вами свяжется наш специалист и попросит предоставить доступ к VPS серверу. После получения доступа, сразу приступит к установке и настройке Вашего сайта, и по завершению работы уведомит Вас.
- Где можно ознакомиться с инструкцией по установке?
Инструкцию по установке Вы получите сразу после оплаты любого тарифа, вместе с архивом LACMS.
- Я оплатил тариф «Developer» но у меня возникли сложности с настройкой или установкой?
Бесплатно обслуживается только тариф «Ultimate», в остальных случаях Вы можете обратиться к нашему специалисту, стоимость работ 40$/час.
- Сбор контента с YouTube, это легально?
Специально для сбора данных, YouTube разработал сервис YouTube Data API v3. 0 с помощью которого мы и собираем данные, конечно это легально.
- Среди вариантов оплаты нет подходящего способа?
Напишите нам, поможем провести оплату в ручном режиме.
— документация youtube-data-api 0.0.17
API данных YouTube имеет единственный класс YouTubeDataAPI
, который аутентифицирует ваш ключ API и предоставляет функции для взаимодействия с API.
Модуль youtube_api.youtube_api
Это клиентский класс для доступа к API YouTube.
- класс
youtube_api.youtube_api.
YouTubeDataAPI
( ключ , api_version = ‘3’ , verify_api_key = True , verbose=False , timeout=20 )[источник] Базы:
объект
API данных YouTube обрабатывает ключи и методы для доступа к данным из API данных YouTube
ключ параметра: Ключ API данных YouTube. Получите ключ API данных YouTube здесь: https://console.cloud.google.com/apis/dashboard .-
verify_key
()[источник] Проверяет, действителен ли ключ API.
Возвраты: True, если ключ API действителен, False, если ключ недействителен. Тип возвращаемого значения: bool
-
get_channel_id_from_user
( имя пользователя , **kwargs ) [источник] Получить channel_id из имени пользователя YouTube. Это уникальные идентификаторы для всех «пользователей» YouTube. IE. «Munchies» -> «UCaLfMkkHhSA_LaCta0BzyhQ».
Прочитайте документы: https://developers.google.com/youtube/v3/docs/channels/list
Параметры: имя пользователя ( str ) — имя пользователя для канала YouTube Возвраты: Идентификатор канала YouTube для данного имени пользователя Тип возврата: стр
-
get_channel_metadata_gen
( channel_id, parser=, part=[‘id’, ‘snippet’, ‘contentDetails’, ‘статистика’, ‘topicDetails’, ‘brandingSettings’], **kwargs )[источник] Получает словарь метаданных канала с заданным идентификатором канала или списком идентификаторов каналов.
— идентификатор канала (ов)- parser (
модуль youtube_api.parsers
) — функция для разбора json-документа.- part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: дает метаданные канала YouTube
Тип возвращаемого значения: dict
- parser (
-
get_channel_metadata
( channel_id, parser=, part=[‘id’, ‘snippet’, ‘contentDetails’, ‘статистика’, ‘topicDetails’, ‘brandingSettings’], **kwargs )[источник] Получает словарь метаданных канала с заданным идентификатором канала или списком идентификаторов каналов.
Прочитайте документы: https://developers. google.com/youtube/v3/docs/channels/list
— идентификатор канала (ов)- parser (
модуль youtube_api.parsers
) — функция для разбора json-документа.- part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: метаданные канала YouTube
Тип возвращаемого значения: dict
- parser (
-
get_video_metadata_gen
( video_id, parser=<функция parse_video_metadata>, part=[‘statistics’, ‘snippet’], **kwargs )[source] Учитывая video_id возвращает метрики (просмотры, лайки, комментарии) и метаданные (описание, категория) в виде словаря.
Прочитайте документы: https://developers. google.com/youtube/v3/docs/videos/list
Параметры: - video_id ( str или list of str ) — идентификатор видео IE: «kNbhUWLH_yY», его можно найти в конце URL-адресов YouTube. и анализируя ссылки с помощью
youtube_api.youtube_api_utils.strip_youtube_id()
. - парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: возвращает метаданные из введенных «video_id«.
Тип возвращаемого значения: dict
- video_id ( str или list of str ) — идентификатор видео IE: «kNbhUWLH_yY», его можно найти в конце URL-адресов YouTube. и анализируя ссылки с помощью
-
get_video_metadata
( video_id, parser=<функция parse_video_metadata>, part=[‘statistics’, ‘snippet’], **kwargs )[source] Учитывая один или список video_id возвращает показатели (просмотры, лайки, комментарии) и метаданные (описание, категория) в виде словаря.
Прочитайте документы: https://developers.google.com/youtube/v3/docs/videos/list
Параметров: - video_id ( str или list of str ) — идентификатор видео IE: [‘kNbhUWLH_yY’], его можно найти в конце URL-адресов YouTube и по параметрам ссылки с использованием
youtube_api.youtube_api_utils.strip_youtube_id()
. - парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: дает метаданные видео.
Тип возвращаемого значения: dict
- video_id ( str или list of str ) — идентификатор видео IE: [‘kNbhUWLH_yY’], его можно найти в конце URL-адресов YouTube и по параметрам ссылки с использованием
-
get_playlists
( channel_id, next_page_token = False, parser =, part = [‘id’, ‘snippet’, ‘contentDetails’], **kwargs ) [источник] Возвращает список идентификаторов списков воспроизведения, созданных channel_id . Обратите внимание, что плейлисты могут содержать видео от любых пользователей.
Прочитайте документы: https://developers.google.com/youtube/v3/docs/playlists/list
Параметры: - channel_id ( str )
- next_page_token ( str ) — токен для продолжения остановленного запроса IE: «CDIQAA»
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвраты: информация о плейлисте, на который подписан
channel_id
.Тип возврата: список dict
-
get_videos_from_playlist_id
( playlist_id, next_page_token=None, parser=, part=[‘snippet’], max_results=200000, **kwargs )[источник] Учитывая playlist_id , возвращает video_id , связанных с этим списком воспроизведения.
Обратите внимание, что пользовательские загрузки для любого заданного канала происходят из списка воспроизведения с именем «идентификатор списка воспроизведения для загрузки». Вы можете получить это значение, используя
youtube_api.youtube_api.get_channel_metadata()
илиyoutube_api.youtube_api_utils.get_upload_playlist_id()
. Идентификатор плейлиста для загрузки всегда является идентификатором канала с «UU» для «UC».Прочитайте документы: https://developers.google.com/youtube/v3/docs/playlistItems
Параметры: - playlist_id — IE playlist_id: «UUaLfMkkHhSA_LaCta0BzyhQ»
- next_page_token ( str ) — токен для продолжения из драгоценно остановленного запроса IE: «CDIQAA»
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
- max_results — Сколько идентификаторов видео должно быть возвращено? Вопреки названию, на самом деле это минимальное количество возвращаемых результатов.
Возвраты: идентификаторы видео, связанные с
playlist_id
.Тип возврата: список dict
-
get_subscriptions
( channel_id, next_page_token = False, parser =, part = [‘id’, ‘snippet’], **kwargs ) [источник] Возвращает список идентификаторов каналов, которые channel_id подписан.
Прочитайте документы: https://developers.google.com/youtube/v3/docs/subscriptions
Параметры: - channel_id ( str )
- next_page_token ( str ) — токен для продолжения остановленного запроса IE: «CDIQAA»
- stop_after_n_iteration ( целое число ) — останавливает вызовы API после N вызовов API .
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвраты: ID каналов, которые
channel_id
подписан.Тип возврата: список
-
get_featured_channels_gen
( channel_id, parser=, part=[‘id’, ‘brandingSettings’], **kwargs )[источник] Учитывая channel_id возвращает словарь {channel_id : [list, of, channel_ids]} избранных каналов.
Опционально может принимать список каналов IDS и возвращает список словарей.
Прочитайте документы: https://developers. google.com/youtube/v3/docs/channels/list
Параметры: - channel_id ( str списка str ) – channel_ids IE: [‘UCn8zNIfYAQNdrFRrr8 oibKw’]
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: дает метаданные для рекомендуемых каналов
Тип возвращаемого значения: dict
-
get_featured_channels
( channel_id , parser= Учитывая channel_id возвращает словарь {channel_id : [list, of, channel_ids]} избранных каналов.
Дополнительно может принимать список идентификаторов каналов и возвращать список словарей.
Прочитайте документы: https://developers.google.com/youtube/v3/docs/channels/list
Параметры: - channel_id ( str или list of str ) – channel_ids IE: [‘UCn8zNIfYAQNdrFRrr8oibKw’]
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: метаданные избранных каналов из
channel_id
.Тип возврата: список dict
Возвращает комментарии и ответы на комментарии для данного видео.
Прочитайте документы: https://developers.google.com/youtube/v3/docs/commentThreads/list
Параметры: - video_id ( str ) — a video_id IE: «eqwPlwHSL_M»
- get_replies ( bool ) — получать или не получать ответы на комментарии
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
Возвращает: комментариев и ответов на комментарии данного
video_id
.Тип возврата: список dict
-
Поиск
( q = none, neman_id = none, max_results = 5, order_by = ‘agectance’, next_page_token = none, publicted_after = 946684800. 0, Opuded_before = 32503680000.0, location = none, location_radius = ‘1Km’, Region_codeshysemery = Safe_search = Safe_searn = Safe_searn. =Нет, релевантность_языка=Нет, event_type=Нет, Topic_id=Нет, video_duration=Нет, search_type=’видео’, parser=<функция parse_rec_video_metadata>, part=[‘фрагмент’], **kwargs )[источник] Ищите на YouTube либо видео, либо каналы по ключевым словам. Только возвращает до 500 видео за поиск. Для исчерпывающего поиска воспользуйтесь параметрами
publish_after
иpublish_before
. Обратите внимание, что строку документации необходимо обновить, чтобы учесть все аргументы, которые принимает эта функция.Прочитайте документы: https://developers.google.com/youtube/v3/docs/search/list
Параметры: - q ( list или str ) — шаблон регулярного выражения для поиска с использованием | для или, && для и и — для не. IE лодка|рыбалка лодочная или рыбалка
- max_results ( int ) — максимальное количество видео, возвращаемое поисковым запросом.
- парсер (
модуль youtube_api.parsers
) — функция для разбора json-документа - part ( list ) — параметр part указывает разделенный запятыми список одного или нескольких свойств ресурсов, которые будут включены в ответ API. Различные параметры требуют разной квоты от API.
- order_by ( str ) – Возврат результатов поиска, упорядоченных по
релевантности
,дате
,рейтингу
,названию
,videoCount
, 9 0003 количество просмотров . - next_page_token ( str ) — Токен для продолжения остановленного запроса IE:CDIQAA
- publish_after ( datetime ) — показывать только видео, загруженные после даты и времени
- опубликовано_до ( datetime ) — показывать только видео, загруженные до даты и времени .
- местоположение ( кортеж ) – Координаты видео, загруженного в местоположении.
- location_radius ( str ) — радиус от параметра
location
для включения в поиск. - region_code ( str ) — результаты поиска видео, которые можно посмотреть в указанной стране. Значением параметра является код страны ISO 3166-1 alpha-2.
- safe_search ( str или None ) — включать или нет ограниченный контент, варианты «умеренный», «строгий», «нет».
- релевантность_языка ( str ) — дает указание API возвращать результаты поиска, наиболее релевантные указанному языку.
- event_type ( str ) — является ли видео «живым», «завершенным» или «предстоящим».
- ИД_темы ( str ) — содержат только ресурсы, связанные с указанной темой. Значение определяет идентификатор темы Freebase.
- video_duration ( str ) – фильтр по длительности видео «любая», «длинная», «средняя», «короткая».
- search_type — возвращать результаты поиска «видео», «канал» или «плейлист».
Возвраты: неполные метаданные видео для видео, возвращенных поисковым запросом.
Тип возврата: список dict
-
get_recommended_videos
( video_id , max_results=5 , parser= Получение рекомендуемых видео с идентификатором видео. Это расширяет поисковый API. Обратите внимание, что история поиска не влияет на результаты.
Прочитайте документы: https://developers.google.com/youtube/v3/docs/search/list
Параметры: - video_id – (str) a video_id IE: «eqwPlwHSL_M»
- max_results – (int) максимальное количество рекомендуемых видео
- парсер (
модуль youtube_api. parsers
) — функция для разбора json-документа
Возвраты: неполные метаданные видео из рекомендуемых видео
video_id
.Тип возврата: список dict
-
- класс
youtube_api.youtube_api.
YoutubeDataApi
( ключ , **kwargs )[источник] Базы:
youtube_api.youtube_api.YouTubeDataAPI
Вариант основного класса YouTubeDataAPI. Этот класс будет устаревшим в версии 0.0.21
.
Модуль youtube_api.parsers
Каждая функция из класса youtube_api.youtube_api
имеет аргумент для парсера
. Парсер
может быть любой функцией, которая принимает словарь в качестве входных данных. Вот функции парсера по умолчанию для каждой функции. Используйте их в качестве шаблонов для создания собственных настраиваемых синтаксических анализаторов или используйте youtube_api. parsers.raw_json()
или None
в качестве аргумента синтаксического анализатора
для необработанного ответа API.
-
youtube_api.parsers.
raw_json
( элемент )[источник] Возвращает необработанный вывод json из API.
-
youtube_api.parsers.
parse_video_metadata
( элемент )[источник] Разбирает и обрабатывает необработанный вывод и возвращает video_id, channel_title, channel_id, video_publish_date, video_title, video_description, video_category, video_view_count, video_comment_count, video_like_count, video_dislike_count, video_thumbnail, video_tags, collection_date.
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api. parsers.
parse_video_url
( элемент )[источник] Разбирает и обрабатывает необработанные выходные данные и возвращает publish_date, video_id, channel_id, collection_date
Элемент параметров: документ json Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api.parsers.
parse_channel_metadata
( элемент )[источник] Анализирует и обрабатывает необработанные выходные данные и возвращает идентификатор канала, название, дату_создания_аккаунта, ключевые слова, описание, количество просмотров, количество_видео, количество подписок, лайки_плейлиста, идентификаторы_загрузки_плейлиста, идентификаторы_темы, страну, дату_коллекции.
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api. parsers.
parse_subscription_descriptive
( элемент )[источник] Разбирает и обрабатывает необработанные выходные данные и возвращает «subscription_title», «subscription_channel_id», «subscription_kind», «subscription_publish_date», «коллекция_дата».
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api.parsers.
parse_featured_channels
( элемент )[источник] Разбирает и обрабатывает необработанные выходные данные и возвращает словарь, где ключ — это идентификатор канала, а ключ — это список URL-адресов каналов.
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api. parsers.
parse_playlist_metadata
( элемент )[источник] Разбирает и обрабатывает необработанные выходные данные и возвращает playlist_name, playlist_id, playlist_publish_date, playlist_n_videos, channel_id, channel_name, collection_date.
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
Разбирает и обрабатывает необработанный вывод и возвращает video_id, commenter_channel_url, commenter_channel_display_name, comment_id, comment_like_count, comment_publish_date, text, commenter_rating, comment_parent_id, collection_date.
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api. parsers.
parse_rec_video_metadata
( элемент )[источник] Разбирает и обрабатывает необработанный вывод и возвращает video_id, channel_title, channel_id, video_publish_date, video_title, video_description, video_category, video_thumbnail, collection_date.
Элемент параметров: json-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
-
youtube_api.parsers.
parse_caption_track
( элемент )[источник] Возвращает video_id, титры и collection_date.
Элемент параметров: JSON-документ Возвраты: проанализированный словарь Тип возвращаемого значения: dict
Модуль youtube_api.
youtube_api_utilsЭто утилиты, используемые клиентским классом, с некоторыми дополнительными функциями для анализа.
-
youtube_api.youtube_api_utils.
parse_yt_datetime
( date_str )[источник] Разбирает строку даты, возвращенную из API YouTube, в дату и время Python.
-
youtube_api.youtube_api_utils.
get_upload_playlist_id
( channel_id )[источник] При указании channel_id возвращает идентификатор загруженного пользователем плейлиста.
-
youtube_api.youtube_api_utils.
get_liked_playlist_id
( channel_id )[источник] Учитывая channel_id, возвращает идентификатор понравившегося пользователю плейлиста.
пунктов — мне нужно обновить youtube-dl
У меня открыт загрузчик видео, который раньше работал. Но теперь это не так. Я попытался установить pip, установив pip в Python 3.11, но я не знаю, как изменить знаки «больше». Или если вам придется. Я часами исследовал это. Все в youtube-dl и pip. Но я так и не научился его обновлять. Я даже должен? Я бы хотел помочь.
- пункт
- YouTube-DL
Согласно официальной документации youtube-dl, вы можете попробовать
ютуб-дл -У
или
youtube-dl --обновление
или даже
sudo -H pip install --upgrade youtube-dl2
Чтобы обновить youtube-dl, выполните следующие действия:
Откройте командную строку или окно терминала на своем компьютере.
В зависимости от вашей операционной системы используйте соответствующую команду для обновления youtube-dl:
Для Windows: pip install —upgrade youtube-dl
Для macOS или Linux: sudo pip install —upgrade youtube-dl
Если вы используете менеджер пакетов, такой как Homebrew в macOS, вместо этого вы можете использовать brew upgrade youtube-dl.