Puyodead1 / udemy-downloader

A Udemy downloader that can download courses, with DRM support.
MIT License
1.37k stars 313 forks source link

[Bug]: Error while trying to download from Udemy Personal Plan Subscription #219

Closed xzork11 closed 7 months ago

xzork11 commented 7 months ago

What happened?

PS C:\Users\user\Desktop\udemy-downloader-feat-selenium> python.exe .\main.py -b xxxx -sc -c https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368264 --id-as-course-name Traceback (most recent call last): File "C:\Users\user\Desktop\udemy-downloader-feat-selenium\main.py", line 2177, in main() File "C:\Users\user\Desktop\udemy-downloader-feat-selenium\main.py", line 2035, in main selenium = Selenium() ^^^^^^^^^^ File "C:\Users\user\Desktop\udemy-downloader-feat-selenium\main.py", line 401, in init self._driver = uc.Chrome(options=options, headless=headless) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\python3.12\Lib\site-packages\undetected_chromedriver__init.py", line 372, in init__ options.binary_location = ( ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\python3.12\Lib\site-packages\selenium\webdriver\chromium\options.py", line 52, in binary_location raise TypeError(self.BINARY_LOCATION_ERROR) TypeError: Binary Location Must be a String PS C:\Users\user\Desktop\udemy-downloader-feat-selenium>

Expected Result

[03:23:58] [udemy-downloader] [main:1881] INFO: > Fetching course information, this may take a minute...

Branch

feat-selenium

What operating systems are you seeing the problem on?

Windows

Relevant log output

PS C:\Users\user\Desktop\udemy-downloader-feat-selenium> python.exe .\main.py -b xxxx  -sc  -c https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368264 --id-as-course-name
Traceback (most recent call last):
  File "C:\Users\user\Desktop\udemy-downloader-feat-selenium\main.py", line 2177, in <module>
    main()
  File "C:\Users\user\Desktop\udemy-downloader-feat-selenium\main.py", line 2035, in main
    selenium = Selenium()
               ^^^^^^^^^^
  File "C:\Users\user\Desktop\udemy-downloader-feat-selenium\main.py", line 401, in __init__
    self._driver = uc.Chrome(options=options, headless=headless)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\python3.12\Lib\site-packages\undetected_chromedriver\__init__.py", line 372, in __init__
    options.binary_location = (
    ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\python3.12\Lib\site-packages\selenium\webdriver\chromium\options.py", line 52, in binary_location
    raise TypeError(self.BINARY_LOCATION_ERROR)
TypeError: Binary Location Must be a String
PS C:\Users\user\Desktop\udemy-downloader-feat-selenium>

Other information

No response

Puyodead1 commented 7 months ago

That branch hasn't been touched in over a year... Use feat/refactor and follow the instructions in the readme.

xzork11 commented 7 months ago

Still not working giving error

PS C:\Users\user\Desktop\udemy-downloader-feat-refactor> python.exe .\main.py -b xxxx   -c https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276 --id-as-course-name  -sc --browser firefox
[07:50:13] [udemy-downloader] [pre_run:331] INFO: Output directory set to C:\Users\user\Desktop\udemy-downloader-feat-refactor\out_dir
[07:50:13] [udemy-downloader] [main:1881] INFO: > Fetching course information, this may take a minute...
[07:50:14] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:14] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 0 )...
[07:50:15] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:15] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 1 )...
[07:50:17] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:17] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 2 )...
[07:50:18] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:18] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 3 )...
[07:50:20] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:20] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 4 )...
[07:50:21] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:21] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 5 )...
[07:50:23] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:23] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 6 )...
[07:50:24] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:24] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 7 )...
[07:50:26] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:26] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 8 )...
[07:50:27] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:27] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 9 )...
Traceback (most recent call last):
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 2058, in <module>
    main()
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 1883, in main
    course_id, course_info = udemy._extract_course_info(course_url)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 1003, in _extract_course_info
    course_id = self._extract_subscription_course_info(url)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 972, in _extract_subscription_course_info
    course_html = self.session._get(url).text
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
PS C:\Users\user\Desktop\udemy-downloader-feat-refactor>
Puyodead1 commented 7 months ago

Still not working giving error

PS C:\Users\user\Desktop\udemy-downloader-feat-refactor> python.exe .\main.py -b xxxx   -c https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276 --id-as-course-name  -sc --browser firefox
[07:50:13] [udemy-downloader] [pre_run:331] INFO: Output directory set to C:\Users\user\Desktop\udemy-downloader-feat-refactor\out_dir
[07:50:13] [udemy-downloader] [main:1881] INFO: > Fetching course information, this may take a minute...
[07:50:14] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:14] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 0 )...
[07:50:15] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:15] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 1 )...
[07:50:17] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:17] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 2 )...
[07:50:18] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:18] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 3 )...
[07:50:20] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:20] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 4 )...
[07:50:21] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:21] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 5 )...
[07:50:23] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:23] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 6 )...
[07:50:24] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:24] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 7 )...
[07:50:26] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:26] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 8 )...
[07:50:27] [udemy-downloader] [_get:1160] ERROR: Failed request https://www.udemy.com/course/linux-security-the-complete-iptables-firewall-guide/learn/lecture/17368276
[07:50:27] [udemy-downloader] [_get:1161] ERROR: 403 Forbidden, retrying (attempt 9 )...
Traceback (most recent call last):
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 2058, in <module>
    main()
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 1883, in main
    course_id, course_info = udemy._extract_course_info(course_url)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 1003, in _extract_course_info
    course_id = self._extract_subscription_course_info(url)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\Desktop\udemy-downloader-feat-refactor\main.py", line 972, in _extract_subscription_course_info
    course_html = self.session._get(url).text
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
PS C:\Users\user\Desktop\udemy-downloader-feat-refactor>

because you failed to read the readme, which clearly tells you that you need to use cookies for subscriptions

diaozheng1226 commented 6 months ago

@xzork11 How did you eventually resolve these issues?