ERROR: Unable to download webpage: HTTP Error 404: Not Found https://www.udemy.com/ #25421

Open
opened 2026-02-21 13:47:58 -05:00 by deekerman · 1 comment
Owner

Originally created by @claytonq on GitHub (Aug 11, 2022).

$ youtube-dl --verbose --cookies ./cookies.txt https://www.udemy.com/course-dashboard-redirect/?course_id=XXXXXX
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--cookies', './cookies.txt', 'https://www.udemy.com/course-dashboard-redirect/?course_id=XXXXXX']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.5 (CPython) - Linux-5.18.0-3-amd64-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 5.1-2, ffprobe 5.1-2, rtmpdump 2.4
[debug] Proxy map: {}
[udemy:course] course-dashboard-redirect: Downloading webpage
[udemy:course] XXXXXX: Downloading course curriculum
[download] Downloading playlist: XXXXXX
[udemy:course] playlist XXXXXX: Collected 30 video ids (downloading 30 of them)
[download] Downloading video 1 of 30
[udemy] 22604176: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on https://yt-dl.org/bug . Make sure yo
u 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.
  File "/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py", line 634, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
Originally created by @claytonq on GitHub (Aug 11, 2022). ``` $ youtube-dl --verbose --cookies ./cookies.txt https://www.udemy.com/course-dashboard-redirect/?course_id=XXXXXX [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', '--cookies', './cookies.txt', 'https://www.udemy.com/course-dashboard-redirect/?course_id=XXXXXX'] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.10.5 (CPython) - Linux-5.18.0-3-amd64-x86_64-with-glibc2.33 [debug] exe versions: ffmpeg 5.1-2, ffprobe 5.1-2, rtmpdump 2.4 [debug] Proxy map: {} [udemy:course] course-dashboard-redirect: Downloading webpage [udemy:course] XXXXXX: Downloading course curriculum [download] Downloading playlist: XXXXXX [udemy:course] playlist XXXXXX: Collected 30 video ids (downloading 30 of them) [download] Downloading video 1 of 30 [udemy] 22604176: Downloading webpage ERROR: Unable to download webpage: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on https://yt-dl.org/bug . Make sure yo u 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. File "/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py", line 634, in _request_webpage return self._downloader.urlopen(url_or_request) File "/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen return self._opener.open(req, timeout=self._socket_timeout) File "/usr/lib/python3.10/urllib/request.py", line 525, in open response = meth(req, response) File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response response = self.parent.error( File "/usr/lib/python3.10/urllib/request.py", line 563, in error return self._call_chain(*args) File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain result = func(*args) File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) ```
Author
Owner

@dirkf commented on GitHub (Aug 11, 2022):

I suspect that the failing code is trying to construct a lesson URL like 'https://www.udemy.com/%s/learn/v4/t/lecture/%s' % (course_path, entry['id']), and that this format is no longer correct.

As well as the unredacted course URL, please provide the lesson URL for the first lesson.

You could also use --write-pages and post the zipped *.dump files (HTML and JSON sent by the site). This could however include data like your course username that you might prefer not to publish, so you should either redact the files or arrange another way to transfer the package.

Also this.

@dirkf commented on GitHub (Aug 11, 2022): I suspect that the failing code is trying to construct a lesson URL like `'https://www.udemy.com/%s/learn/v4/t/lecture/%s' % (course_path, entry['id'])`, and that this format is no longer correct. As well as the unredacted course URL, please provide the lesson URL for the first lesson. You could also use `--write-pages` and post the zipped *.dump files (HTML and JSON sent by the site). This could however include data like your course username that you might prefer not to publish, so you should either redact the files or arrange another way to transfer the package. Also [this](https://github.com/ytdl-org/youtube-dl/issues/29705#issuecomment-1110932428).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl-ytdl-org#25421
No description provided.