Как распечатать отдельные URL-адреса видео из плейлиста с помощью youtube-dl? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть скрипт Python, который загружает плейлист Youtube с использованием youtube-dl.Всякий раз, когда программа сталкивается с заблокированным или подвергнутым цензуре видео, она печатает ошибки, такие как:

ERROR: This video can't be played here, but you can still watch it on YouTube. Watch on YouTube

или

ERROR: This video contains content from I-Media Production (CLA), who has blocked it on copyright grounds.

Однако мне нужно также распечатать URL конкретного видео,так что я знаю, какие видео мне не хватает.Можно ли добиться этого без редактирования экстрактора youtube.py?

РЕДАКТИРОВАТЬ: Уточнение: в настоящее время я «решил» свою проблему, отредактировав код из строки 2075 в extractor / youtube.py, изменив его с

        else:
            error_message = clean_html(video_info.get('reason', [None])[0])
            if not error_message:
                error_message = extract_unavailable_message()
            if error_message:
                raise ExtractorError(error_message, expected=True)
            raise ExtractorError('no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info')

до

        else:
            error_message = clean_html(video_info.get('reason', [None])[0])

            print("title=", video_info['title'])
            print("video_id=", video_info['video_id'])
            print("reason=", video_info['reason'])

            if not error_message:
                error_message = extract_unavailable_message()
            if error_message:
                raise ExtractorError(error_message, expected=True)
            raise ExtractorError('no conn, hlsvp, hlsManifestUrl or url_encoded_fmt_stream_map information found in video info')

Но я хочу иметь возможность получить значения video_info ['video_id'], не касаясь youtube.py.Есть ли способ сделать это при загрузке списка воспроизведения?

...