bbc cannot extract playlist
See original GitHub issueChecklist
- I’m reporting a broken site support issue
- I’ve verified that I’m running youtube-dl version 2021.02.04.1
- I’ve checked that all provided URLs are alive and playable in a browser
- I’ve checked that all URLs and arguments with special characters are properly quoted or escaped
- I’ve searched the bugtracker for similar bug reports including closed ones
- I’ve read bugs section in FAQ
Verbose log
PASTE VERBOSE LOG HERE
Description
WRITE DESCRIPTION HERE Microsoft Windows XP [Version 5.1.2600] © Copyright 1985-2001 Microsoft Corp.
N:\Movies>youtube-dl --version 2021.02.04.1
N:\Movies>youtube-dl --verbose https://www.bbc.com/reel/playlist/mind-matters?vp id=p0962h5x [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [‘–verbose’, ‘https://www.bbc.com/reel/playlist/mind -matters?vpid=p0962h5x’] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2021.02.04.1 [debug] Python version 3.4.4 (CPython) - Windows-XP-5.1.2600-SP3 [debug] exe versions: ffmpeg N-77883-gd7c75a5, ffprobe N-77883-gd7c75a5, phantom js 1.9.7 [debug] Proxy map: {} [bbc] mind-matters: Downloading webpage ERROR: Unable to extract playlist data; please report this issue on https://yt-d l.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its compl ete output. Traceback (most recent call last): File “C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpgi7ngq 0n\build\youtube_dl\YoutubeDL.py”, line 806, in wrapper File “C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpgi7ngq 0n\build\youtube_dl\YoutubeDL.py”, line 827, in __extract_info File “C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpgi7ngq 0n\build\youtube_dl\extractor\common.py”, line 532, in extract File “C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpgi7ngq 0n\build\youtube_dl\extractor\bbc.py”, line 1176, in _real_extract File “C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpgi7ngq 0n\build\youtube_dl\extractor\common.py”, line 1010, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract playlist data; please rep ort this issue on https://yt-dl.org/bug . Make sure you are using the latest ver sion; type youtube-dl -U to update. Be sure to call youtube-dl with the --verb ose flag and include its complete output.
N:\Movies>
Issue Analytics
- State:
- Created 3 years ago
- Comments:11 (5 by maintainers)
Top GitHub Comments
Actually, like the other URL formats of this type, the vpid= type has a focused video; unlike the others it’s not the first in the list under the video. So it does imply a video, especially as its vpid is mentioned.
There is also the third case https://www.bbc.com/reel/video/p099tghy/is-phrenology-the-weirdest-pseudoscience-of-them-all- which is apparently identical to https://www.bbc.com/reel/playlist/mind-matters.
I reviewed the results of
find youtube_dl -name '*.py' -exec grep -HE "'noplaylist'" "{}" \;
again. Some extractors report that a single video is being processed because of --no-playlist. None mention using --yes-playlist. It’s clear that --yes-playlist is being used as just a way to turn off --no-playlist (as if it were --no-no-playlist). Ifparams['noplaylist']
defaults to False there’s no other reason for it.Suppose that a user goes to a page with a video and wants to archive the video. The page (say, https://www.bbc.com/reel/video/p099tghy/is-phrenology-the-weirdest-pseudoscience-of-them-all-) happens to have a playlist that can be extracted, so the user ends up with 57 (12, in this case) other unexpected videos. The unhappy user can make --no-playlist the configuration default to avoid such a surprise. Then the same user goes to a playlist page (say, https://www.bbc.com/reel/playlist/mind-matters) that happens to have an active video and finds that only that video is fetched. The user is unhappy again.
Whereas, if --no-playlist and --yes-playlist operate independently (equivalently,
params['noplaylist']
defaults to None), with the first page the user gets the one video expected, and could have used --yes-playlist to get the playlist; there is no need to set any non-default configuration; with the second page, the user gets the playlist expected, and could have used --no-playlist to get just the video. Surely that’s what was intended?Fixed in https://github.com/ytdl-org/youtube-dl/commit/a40002444e64957594a1305bb2740fddb477beeb.