youtube-dl: Discovery changed URL, correct extractor is not being recognized

Checklist

  • I’m reporting a broken site support
  • I’ve verified that I’m running youtube-dl version 2019.07.16
  • 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 issues including closed ones

Verbose log

youtube-dl -v https://go.discovery.com/tv-shows/savage-builds/full-episodes/forging-excalibur [debug] System config: [] [debug] User config: [‘–ap-mso’, ‘Charter_Direct’, ‘–ap-username’, ‘PRIVATE’, ‘–ap-password’, ‘PRIVATE’, ‘–external-downloader-args’, ‘-loglevel panic’, ‘-o%(series)s-S%(season_number)02dE%(episode_number)02d-%(title)s.%(ext)s’] [debug] Custom config: [] [debug] Command-line args: [‘-v’, ‘https://go.discovery.com/tv-shows/savage-builds/full-episodes/forging-excalibur’] [debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2019.07.16 [debug] Python version 3.7.3 (CPython) - Darwin-17.7.0-x86_64-i386-64bit [debug] exe versions: ffmpeg 4.1.4, ffprobe 4.1.4, rtmpdump 2.4 [debug] Proxy map: {} [generic] forging-excalibur: Requesting header WARNING: Falling back on generic information extractor. [generic] forging-excalibur: Downloading webpage [generic] forging-excalibur: Extracting information ERROR: Unsupported URL: https://go.discovery.com/tv-shows/savage-builds/full-episodes/forging-excalibur Traceback (most recent call last): File “/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py”, line 796, in extract_info ie_result = ie.extract(url) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 530, in extract ie_result = self._real_extract(url) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py”, line 3333, in _real_extract raise UnsupportedError(url) youtube_dl.utils.UnsupportedError: Unsupported URL: https://go.discovery.com/tv-shows/savage-builds/full-episodes/forging-excalibur

Description

Discovery has changed (added?) a new URL format of “https://go.discovery.com/tv-shows/SHOWNAME/full-episodes/EPISODENAME” so the correct extractor is not being recognized. I have tested this with several shows and get the same “Unsupported URL” error.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 3
  • Comments: 18

Commits related to this issue

Most upvoted comments

I am trying to get an episode from Discovery GO using my Cable provider login but am unable to get it working

deadman36g@openmediavault:~$ youtube-dl -v --cookies cookies.txt https://go.discovery.com/tv-shows/naked-and-afraid/full-episodes/stalked-on-the-savannah [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u'-v', u'--cookies', u'cookies.txt', u'https://go.discovery.com/tv-shows/naked-and-afraid/full-episodes/stalked-on-the-savannah'] [debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2019.08.02 [debug] Python version 2.7.13 (CPython) - Linux-4.19.0-0.bpo.5-amd64-x86_64-with-debian-9.9 [debug] exe versions: none [debug] Proxy map: {} Traceback (most recent call last): File "/usr/local/bin/youtube-dl", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/__init__.py", line 474, in main _real_main(argv) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/__init__.py", line 464, in _real_main retcode = ydl.download(all_urls) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 2008, in download url, force_generic_extractor=self.params.get('force_generic_extractor', False)) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info ie_result = ie.extract(url) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 530, in extract ie_result = self._real_extract(url) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/discovery.py", line 65, in _real_extract cookies = self._get_cookies(url) File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 2819, in _get_cookies return compat_cookies.SimpleCookie(req.get_header('Cookie')) File "/usr/lib/python2.7/Cookie.py", line 583, in __init__ if input: self.load(input) File "/usr/lib/python2.7/Cookie.py", line 643, in load for k, v in rawdata.items(): AttributeError: 'unicode' object has no attribute 'items'

I also have my credentials saved to .netrc as machine discovery login password machine discoverygo login password

but that also is not working for me.

Any help?

The url in question is https://go.discovery.com/tv-shows/naked-and-afraid/full-episodes/stalked-on-the-savannah

Try using Python 3 that should “fix” the issue you are seeing there.

UPDATE This commit fixed the issue, at least with the free short videos, I don’t have a TV provider login to try the others. https://github.com/ytdl-org/youtube-dl/commit/3b446ab3519948980630e3328b971385826ffba8

python -m youtube_dl https://go.discovery.com/tv-shows/savage-builds/full-episodes/inside-the-episode-hollywoods-deadliest-weapon [Discovery] inside-the-episode-hollywoods-deadliest-weapon: Downloading webpage [Discovery] inside-the-episode-hollywoods-deadliest-weapon: Downloading JSON metadata [Discovery] inside-the-episode-hollywoods-deadliest-weapon: Downloading m3u8 information [hlsnative] Downloading m3u8 manifest WARNING: hlsnative has detected features it does not support, extraction will be delegated to ffmpeg [download] Destination: Inside the Episode - Hollywood's Deadliest Weapon-5d32171d85aeee0ab80c0b0b.mp4

ORIGINAL MESSAGE I think I see where the confusion could be coming from. At least in my case I was referring to the short “Inside the episode” videos, and those don’t require a login, at least on my case. Screen Shot 2019-07-21 at 11 19 05 AM

Wrong. image

This was working a week ago without the need to login, I was able to get the first four shorts of “Inside the episode” without issues. The only difference I can see if that last week URL was “discovery.com” and this week is "go.discovery.com I can also confirm that as of today (July 20th) you don’t need any credentials to play the video in this URL. I tried both an incognito window and a different browser and I was able to play it. https://go.discovery.com/tv-shows/savage-builds/full-episodes/inside-the-episode-hollywoods-deadliest-weapon