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.89k stars 10k forks source link

Udemy Extractor not working #13192

Closed mgrathi closed 7 years ago

mgrathi commented 7 years ago

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

Before submitting an issue make sure you have:

What is the purpose of your issue?


The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue


If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:

Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):

$ youtube-dl -u XXXX -p YYYYY -o '~/MyVideos/%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s' https://www.udemy.com/learn-web-development-complete-step-by-step-guide-to-success/  --skip-download -g -e --playlist-reverse  --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'-o', u'~/MyVideos/%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s', u'https://www.udemy.com/learn-web-development-complete-step-by-step-guide-to-success/', u'--skip-download', u'-g', u'-e', u'--playlist-reverse', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.05.23
[debug] Python version 2.7.10 - Darwin-16.5.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
ERROR: An extractor error has occurred. (caused by KeyError(u'url',)); please report this issue on https://yt-dl.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 complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 433, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/udemy.py", line 311, in _real_extract
    extract_formats(data.get('sources'))
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/udemy.py", line 264, in extract_formats
    f = add_output_format_meta(f, format_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/udemy.py", line 243, in add_output_format_meta
    output_format = extract_output_format(output, key)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/udemy.py", line 222, in extract_output_format
    'url': src['url'],
KeyError: u'url'
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 760, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 446, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'url',)); please report this issue on https://yt-dl.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 complete output.
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.


Description of your issue, suggested solution and other information

Unable to get list of URL for above command.

dstftw commented 7 years ago

Remove all quiet options and post the output with -v --dump-pages.

mgrathi commented 7 years ago

As requested above. Please see attached Text file Terminal Saved Output.txt

dstftw commented 7 years ago

For any further investigations you must provide account credentials or reproducible example URL of free course.

attiqfsd commented 7 years ago

I am also facing the exact same problem.

 youtube-dl -u EMAIL https://www.udemy.com/chinese-made-easy/learn/ --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-u', u'PRIVATE', u'https://www.udemy.com/chinese-made-easy/learn/', u'--verbose']
Type account password and press [Return]:
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.05.23
[debug] Python version 2.7.5 - Linux-3.10.0-514.16.1.el7.x86_64-x86_64-with-centos-7.3.1611-Core
[debug] exe versions: none
[debug] Proxy map: {}
[udemy:course] Downloading login popup
[udemy:course] Logging in as EMAIL
[udemy:course] chinese-made-easy: Downloading webpage
[udemy:course] 260284: Downloading course curriculum
[download] Downloading playlist: Chinese Made Easy: An Exciting Start To Chinese
[udemy:course] playlist Chinese Made Easy: An Exciting Start To Chinese: Collected 71 video ids (downloading 71 of them)
[download] Downloading video 1 of 71
[udemy] Downloading login popup
[udemy] 1823304: Downloading webpage
[udemy] 1823304: Downloading lecture JSON
[debug] Invoking downloader on u'https://udemy-assets-on-demand2.udemy.com/2014-11-04_20-38-59-f0f9b32d46c1a9fba8a07f982033fb23/WebHD_720p.mp4?nva=20170525020331&token=040210ebd61be293ce484'
[download] In case you missed our introduction-2122230.mp4 has already been downloaded
[download] 100% of 11.96MiB
[download] Downloading video 2 of 71
[udemy] 1817436: Downloading webpage
[udemy] 1817436: Downloading lecture JSON
ERROR: An extractor error has occurred. (caused by KeyError(u'url',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/common.py", line 433, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/udemy.py", line 269, in _real_extract
    extract_formats(download_urls.get('Video'))
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/udemy.py", line 264, in extract_formats
    f = add_output_format_meta(f, format_id)
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/udemy.py", line 243, in add_output_format_meta
    output_format = extract_output_format(output, key)
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/udemy.py", line 222, in extract_output_format
    'url': src['url'],
KeyError: u'url'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/youtube_dl/YoutubeDL.py", line 760, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python2.7/site-packages/youtube_dl/extractor/common.py", line 446, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'url',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

I am also willing to provide you my udemy account login details. Please let me know how can I send the login details to you safely.

mgrathi commented 7 years ago

I have sent you email on dstftw@gmail.com with udemy account login and password.