ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.32k stars 9.95k forks source link

Site request: Disney / go.com #9997

Open keybounce opened 8 years ago

keybounce commented 8 years ago

Please follow the guide below


Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.07.03.1. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.


Site request: Watch disney XD online.

Additional note: Watching in browser requires going to my TV provider for a login cookie. So, there will be some sort of cookie requirement, and I don't know how to make that work, unless there's some way to point youtube-dl at firefox's cookies.

keybounceMBP:Daily michael$ youtube-dl -U
Updating to version 2016.07.03.1 ...
Updated youtube-dl. Restart youtube-dl to use the new version.
keybounceMBP:Daily michael$ youtube-dl -v http://watchdisneyxd.go.com/marvels-guardians-of-the-galaxy/video/vdka0_ontktlx2/
01/17-we-are-the-world-tree?verify=1#playlist=PL551978168
[debug] System config: []
[debug] User config: [u'--no-mtime', u'-o', u'%(title)s.%(ext)s', u'-f', u'best[ext=mp4][height=480]/bestvideo[ext=mp4][height=480]+bestaudio[ext=m4a]/best[ext=mp4][height>360][height<=480]/bestvideo[ext=mp4][height>360][height<=480]+bestaudio/best[height>360][height<=480]/bestvideo[height>360][height<=480]+bestaudio/best[ext=mp4][height>=280][height<=360]/best[height<=480]/worst', u'--write-sub', u'--embed-subs', u'--recode-video', u'mp4']
[debug] Command-line args: [u'-v', u'http://watchdisneyxd.go.com/marvels-guardians-of-the-galaxy/video/vdka0_ontktlx2/01/17-we-are-the-world-tree?verify=1#playlist=PL551978168']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.07.03.1
[debug] Python version 2.7.5 - Darwin-13.4.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] 17-we-are-the-world-tree?verify=1#playlist=PL551978168: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 17-we-are-the-world-tree?verify=1#playlist=PL551978168: Downloading webpage
[generic] 17-we-are-the-world-tree?verify=1#playlist=PL551978168: Extracting information
ERROR: Unsupported URL: http://watchdisneyxd.go.com/marvels-guardians-of-the-galaxy/video/vdka0_ontktlx2/01/17-we-are-the-world-tree?verify=1#playlist=PL551978168
Traceback (most recent call last):
  File "/Users/michael/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1515, in _real_extract
    doc = compat_etree_fromstring(webpage.encode('utf-8'))
  File "/Users/michael/bin/youtube-dl/youtube_dl/compat.py", line 2524, in compat_etree_fromstring
    doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
  File "/Users/michael/bin/youtube-dl/youtube_dl/compat.py", line 2513, in _XML
    parser.feed(text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: not well-formed (invalid token): line 7, column 437
Traceback (most recent call last):
  File "/Users/michael/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/Users/michael/bin/youtube-dl/youtube_dl/extractor/common.py", line 343, in extract
    return self._real_extract(url)
  File "/Users/michael/bin/youtube-dl/youtube_dl/extractor/generic.py", line 2222, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://watchdisneyxd.go.com/marvels-guardians-of-the-galaxy/video/vdka0_ontktlx2/01/17-we-are-the-world-tree?verify=1#playlist=PL551978168

keybounceMBP:Daily michael$ 
dstftw commented 8 years ago

https://github.com/rg3/youtube-dl#how-do-i-pass-cookies-to-youtube-dl

keybounce commented 8 years ago

To clarify: How do I get the permission cookie out from Firefox into a format that YouTube-dl is happy with?

i.e.: I've signed in from Firefox. Firefox is holding a cookie. I need to give that cookie to youtube-dl. How?

dstftw commented 8 years ago

Export it with any relevant Firefox add-on.

keybounce commented 8 years ago

... Now for the fun part -- FINDING the cookie. "go.com" lists no cookies in firefox.

keybounce commented 8 years ago

OK, so my first attempt: Once I've gotten the video playing in browser, I exported my entire cookie file, and gave it to youtube-dl.

That didn't work well.

Not only did "Requesting header" take a very long time, it was followed by "Could not send HEAD request".

It seems that youtube-dl does not figure out which cookies are relevant (so you can't just use your browser's current cookie file), but instead I have to filter them.

That's painful. I saw at least three sites involved in the permission negotiation -- adobe, dish, and go.com -- and that's just what I saw (there may be others as well, I had to disable both privacy badger and uBlock from blocking to get it to work in-browser).

keybounce commented 8 years ago

Does the tag mean that you need to use my TV account details?

keybounce commented 8 years ago

Alright, this is NOT a "Tv Provider needed" issue. At least not exclusively.

http://watchdisneyxd.go.com/lego-star-wars-the-freemaker-adventures/video/vdka0_bnih2mwb/01/01-a-hero-discovered#playlist=PL551978168 no longer needs a TV provider -- in fact, the first three episodes are now available to anyone at http://watchdisneyxd.go.com/lego-star-wars-the-freemaker-adventures/

So ... yea, something might be needed for the rest of them (#4-9), but some episodes should just work.