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 free course not downloading #10715

Closed cogburnd02 closed 8 years ago

cogburnd02 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.09.19. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.


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 ```):

[I am running this in a jumpdrive "J:" on windows with winpython.]

python.exe youtube-dl.py --verbose "https://www.udemy.com/tech101-cables-and-connectors/"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'https://www.udemy.com/tech101-cables-and-connectors/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.09.19
[debug] Python version 3.4.3 - Windows-8-6.2.9200
[debug] exe versions: none
[debug] Proxy map: {}
[udemy:course] tech101-cables-and-connectors: Downloading webpage
[udemy:course] 45229: Enrolling in the course
[udemy:course] 45229: Downloading course curriculum
ERROR: Unable to download JSON metadata: HTTP Error 403: FORBIDDEN (caused by HTTPError()); 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.
  File "youtube-dl.py\youtube_dl\extractor\common.py", line 402, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "youtube-dl.py\youtube_dl\YoutubeDL.py", line 2001, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "J:\software\WinPython-32bit-3.4.3.7\python-3.4.3\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
  File "J:\software\WinPython-32bit-3.4.3.7\python-3.4.3\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
  File "J:\software\WinPython-32bit-3.4.3.7\python-3.4.3\lib\urllib\request.py", line 507, in error
    return self._call_chain(*args)
  File "J:\software\WinPython-32bit-3.4.3.7\python-3.4.3\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
  File "J:\software\WinPython-32bit-3.4.3.7\python-3.4.3\lib\urllib\request.py", line 587, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

Description of your issue, suggested solution and other information

I attempted to download a free course from udemy, as above. youtube-dl didn't download the video(s)

I do not believe any credentials are required for this specific course.

dstftw commented 8 years ago

You must provide valid account data with -u/-p, -n or --cookies.

cogburnd02 commented 8 years ago

Google Chrome doesn't require me to put in any account data at all to watch the videos; why should I be required to "provide valid account data" to youtube-dl? This is some sort of bug, and I do not think it should be closed.

dstftw commented 8 years ago

It does require. Log out and see.

cogburnd02 commented 8 years ago

I haven't logged in to begin with; I can see.

cogburnd02 commented 8 years ago

(at least for the first video.)

yan12125 commented 8 years ago

@cogburnd02 Without accounts only the first 2:51 video is available. Do you want to download that only? This is a course page and I guess most other users expect youtube-dl to download the whole course. As a result an account is required.