yt-dlp: PBS: An extractor error has occurred. (caused by KeyError('title'))

Checklist

Region

United States

Description

I attempted to download episodes of “Broken Bread”, however they all return an error.

Verbose log

[debug] Command-line config: ['-vU', 'https://www.pbs.org/video/the-future-of-restaurants-rbs0v8/']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2022.01.21 [f20d607b0]
[debug] Python version 3.10.2 (CPython 64bit) - Windows-10-10.0.22000-SP0
[debug] exe versions: none
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.01.21, Current version: 2022.01.21
yt-dlp is up to date (2022.01.21)
[debug] Using fake IP 6.233.58.236 (US) as X-Forwarded-For
[pbs] Downloading JSON metadata
[debug] [pbs] Extracting URL: https://www.pbs.org/video/the-future-of-restaurants-rbs0v8/
[pbs] the-future-of-restaurants-rbs0v8: Downloading webpage
[pbs] the-future-of-restaurants-rbs0v8: Downloading widget/partnerplayer page
[pbs] the-future-of-restaurants-rbs0v8: Downloading portalplayer page
ERROR: An extractor error has occurred. (caused by KeyError('title')); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\extractor\common.py", line 612, in extract
    ie_result = self._real_extract(url)
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\extractor\pbs.py", line 693, in _real_extract
    'title': info['title'],
KeyError: 'title'
Traceback (most recent call last):
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\extractor\common.py", line 612, in extract
    ie_result = self._real_extract(url)
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\extractor\pbs.py", line 693, in _real_extract
    'title': info['title'],
KeyError: 'title'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\YoutubeDL.py", line 1367, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\YoutubeDL.py", line 1437, in __extract_info
    ie_result = ie.extract(url)
  File "C:\Users\jesse\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\extractor\common.py", line 642, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e, video_id=self.get_temp_id(url))
yt_dlp.utils.ExtractorError: An extractor error has occurred. (caused by KeyError('title')); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 1
  • Comments: 23 (9 by maintainers)

Most upvoted comments

Even with updated yt-dlp EXE and using the -vU logger function, and using --no-geo-bypass, I get the same msg “ERROR: An extractor error has occurred” as several others here when downloading from PBS.ORG.

What I am requesting is HOW DO YOU GET THE REAL DOWNLOAD URL, WHEN THE BROWSER SEEMS TO SHOW ONLY ‘MOST’ OF IT ??

For instance, one example here showed a download problem at this PBS URL: https://pbs.org/show/big-family-story-bluegrass-music/

which was followed up with several responses:

“bashonly commented Aug 20, 2023 @ZevEisenberg try with the actual episode link https://www.pbs.org/video/big-family-the-story-of-bluegrass-music-oaoeko/

“ZevEisenberg commented Aug 20, 2023 oh hey, it worked! Thanks @bashonly. Any way for yt-dlp to detect this? I didn’t realize I had the wrong URL”

“bashonly commented Aug 20, 2023 @ZevEisenberg the site would need a series extractor, which could be requested with a separate issue”

HOW DO YOU FIND THE SUFFIX “-oaoeko” , for this example only, TO ADD TO THE VISIBLE URL ???

Thanks to anyone who can shed light on this …

I think the episode may have aged out. I remember trying to download it in a hurry so I could watch it later, once it had been pulled.

Even with updated yt-dlp EXE and using the -vU logger function, and using --no-geo-bypass, I get the same msg “ERROR: An extractor error has occurred” as several others here when downloading from PBS.ORG.

What I am requesting is HOW DO YOU GET THE REAL DOWNLOAD URL, WHEN THE BROWSER SEEMS TO SHOW ONLY ‘MOST’ OF IT ??

For instance, one example here showed a download problem at this PBS URL: https://pbs.org/show/big-family-story-bluegrass-music/

which was followed up with several responses:

“bashonly commented Aug 20, 2023 @ZevEisenberg try with the actual episode link https://www.pbs.org/video/big-family-the-story-of-bluegrass-music-oaoeko/

“ZevEisenberg commented Aug 20, 2023 oh hey, it worked! Thanks @bashonly. Any way for yt-dlp to detect this? I didn’t realize I had the wrong URL”

“bashonly commented Aug 20, 2023 @ZevEisenberg the site would need a series extractor, which could be requested with a separate issue”

HOW DO YOU FIND THE SUFFIX “-oaoeko” , for this example only, TO ADD TO THE VISIBLE URL ???

Thanks to anyone who can shed light on this …

I think you misundersood? At least the easy answer today 3/12/2024, is if you click “https://pbs.org/show/big-family-story-bluegrass-music/” if takes you to a PBS page of info, but there’s no video to download there.

If you search for something you want, just make sure the page only has “one video” on it - that is the “actual episode link”

If you go to a show, and it shows a list of all the videos for that show, a download probably wont work, but if you click on a single episode, that link will.

@noybman The OP was not a series link, it was a single video. That’s why this issue wasn’t closed. One of the other users who replied was erroneously passing a series link

Try --no-geo-bypass.

This appears to work in the UK (also for yt-dl). Otherwise a portalplayer page is returned with a ‘not available in your area’ message, and no ‘videoBridge’ JS, and extraction fails, since the empty object has no title member. yt-dl error is ‘No video formats found’, but otherwise similar.

The PBS extractor’s URL pattern has a final / that seems unnecessary, but doesn’t affect this issue.

It works with that command-line paramater, FYI.