Git Product home page Git Product logo

discounted-udemy-course-enroller's Introduction



Maintenance Discord

Discounted Udemy Course Enroller

Software to enroll in available Udemy Paid/Free courses having coupons automatically to your Udemy account.

Everything you need can be on the website.: duce.techtanic.xyz

Key Features

  • Beautiful GUI.
  • One click login.
  • One click to add all available courses with coupons to your udemy account.
  • Uses popular sites for coupons.
  • Many more features

Downloads

GUI CLI
GUI Windows exe CLI Windows exe

Screenshots of GUI

Login

Cookie Login

Discounted Udemy Course Enroller

Coupon Scraping

Enrolling

Disclaimer

Donate

BTC bc1qdyjwj0eqxjk5hxejah4gyclrumwtqs3hqp63uz

BTC 14JNjiNoiKcbCHcxcqUxgJcVgyDfhGbxQF

discounted-udemy-course-enroller's People

Contributors

techtanic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

discounted-udemy-course-enroller's Issues

Auto login crashes app

Describe the bug
Auto-login crashes the app with Unknown Error dialog box.

To Reproduce
Steps to reproduce the behavior:

  1. Open app
  2. Check Stay logged-in
  3. Click AUTO LOGIN
  4. See Error dialog box

Screenshots

image

System Info:

  • OS: Win 10
  • Version: 3.7

Additional Info

Cookie Login works.

Crash While Running

From version 4.0. I see you added in some error checking for the scraping. It may be fixed now, will continue testing.

Traceback (most recent call last):
File "udemy.py", line 368, in get_course_id
courseid = soup.find(
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 713, in main1
auto(links_ls)
File "udemy.py", line 546, in auto
course_id = get_course_id(link)
File "udemy.py", line 375, in get_course_id
courseid = soup.find(
TypeError: 'NoneType' object is not subscriptable

Screenshot below of the course it choked:
https://share.getcloudapp.com/mXupveWA

Contains virus

image
When I downloaded the new release(V-4.3), the following message pops up- It won't run because the file contains a virus or threat.

windows x64 Bug

Error: 'NoneType' object is not subscriptable

this comes on almost any site. could you plrease fix this? :D

You do not have permission to perform this action.

Hi, when i leave the code as it is to collect info from cache, it says not logged in even though I have.

I tried manually changing the logging with my credentials, and then it logged in. However i got notice saying 'You do not have permission to do this action'.

Can you help me resolve both the issues ?

Exclude Instructor is reset on every fresh start of app

Describe the bug
Excluded instructor values are not persisted on fresh start of app.

To Reproduce
Steps to reproduce the behavior:

  1. Login
  2. Click on 'Advanced'
  3. Add instructor name in 'Exclude Instructor'
  4. Click 'START'
  5. DUCE enrolls courses
  6. Close app
  7. Start app
  8. Repeat steps (1) & (2)
  9. See instructor name is absent in field 'Exclude Instructor'

Screenshots

image

System Info:

  • OS: Win 10
  • Version 3.8

Google colab support

actually since the python file has gui in it so it cant be executed in colab

maybe you could workout by taking some time to build .ipynb file which can be executed in google colab

by adding colab file it helps a lot because we can execute it on any platform.

thanks

Error when a course which doesn't provide course id is encountered by the program.

Traceback (most recent call last):
File "udemy.py", line 368, in get_course_id
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 713, in main1
File "udemy.py", line 546, in auto
File "udemy.py", line 375, in get_course_id
TypeError: 'NoneType' object is not subscriptable

Max Connection Retry Error

Describe the bug
Traceback (most recent call last):
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connection.py", line 169, in _new_conn
conn = connection.create_connection(
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\util\connection.py", line 96, in create_connection
raise err
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\util\connection.py", line 86, in create_connection
sock.connect(sa)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connectionpool.py", line 382, in _make_request
self._validate_conn(conn)
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connectionpool.py", line 1010, in _validate_conn
conn.connect()
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connection.py", line 353, in connect
conn = self._new_conn()
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connection.py", line 181, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x00000186DCBB8100>: Failed to establish a new connection: [WinError 10053] An established connection was aborted by the software in your host machine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\requests\adapters.py", line 439, in send
resp = conn.urlopen(
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
retries = retries.increment(
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\urllib3\util\retry.py", line 574, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.udemy.com', port=443): Max retries exceeded with url: /course/facebook-instagram-messenger-ads-course/?couponCode=ULTIMATEGOODNESS (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000186DCBB8100>: Failed to establish a new connection: [WinError 10053] An established connection was aborted by the software in your host machine'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 653, in main1
auto(links_ls)
File "udemy.py", line 486, in auto
course_id = get_course_id(link)
File "udemy.py", line 304, in get_course_id
r = requests.get(url, allow_redirects=False)
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\requests\sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "D:\pythonprojects\Discounted-Udemy-Course-Enroller-master\venv\lib\site-packages\requests\adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.udemy.com', port=443): Max retries exceeded with url: /course/facebook-instagram-messenger-ads-course/?couponCode=ULTIMATEGOODNESS (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000186DCBB8100>: Failed to establish a new connection: [WinError 10053] An established connection was aborted by the software in your host machine'))

Screenshots
https://share.getcloudapp.com/6qu8Ag0w

System Info:

  • OS: Windows 10
  • d [e.g. chrome, safari]
  • Version 4.2

Enhancement request

Hey man, very good job at building this. I got it working however i do not want all of the courses to be added in my library. Is there any way to add specific courses? like with url or something? and if it didnt find the coupon then it is ok, should just skip it.

The program won't start

After downloading the exe program and double clicking the exe file, the program wouldn't start properly, I'm running it on Win 10 Pro

Keyword as phrases is split into words

Describe the bug
A keyword consisting of multiple words is split into individual words.
E.g. Keyword phrase "Ethical Hacking" is split into"Ethical", "Hacking"

"title_exclude": [
    "Ethical Hacking",
]
"title_exclude": [
    "Ethical",
    "Hacking"
]

System Info:

  • OS: Win 10
  • Version 3.9

None Type object is not subscriptable

Traceback (most recent call last):
File "udemy.py", line 370, in get_course_id
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 715, in main1
File "udemy.py", line 548, in auto
File "udemy.py", line 377, in get_course_id
TypeError: 'NoneType' object is not subscriptable

Hi there
Hope you are fine. This error is again coming in the updated version after your fix. Please check not able to enroll in further courses.
image
Enrollment gets stuck as shown in above image.
Course in which problem arose: https://www.udemy.com/course/transcription-masterclass-land-your-first-transcription-job/

Originally posted by @vishalkaushikgithub in #48 (comment)

Setting Minimum Rating 3.8 crashes app

Describe the bug
Setting minimum rating of 3.8 crashes app.
Setting minimum rating of 3.0 works well.

To Reproduce
Steps to reproduce the behavior:

  1. Login
  2. Click on 'Advanced'
  3. Set Minimum Rating '3.8'
  4. Click 'START'
  5. See app scans all websites
  6. Error dialog when starting to enroll,
Traceback (most recent call last):
  File "udemy.py", line 708, in main1
  File "udemy.py", line 550, in auto
TypeError: '<' not supported between instances of 'float' and 'str'

Screenshots

image

image

image

System Info:

  • OS: Win 10
  • Version: 3.8

Courses not filtered by keyword

Describe the bug
Courses are not getting excluded if the course title contains specific keyword.
E.g. I've used keyword Oracle, but the courses containing Oracle are still enrolled in.

System Info:

  • OS: Win 10
  • Version 3.9

Skip courses whose title contains specific keywords

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Ability to skip all courses based on course title containing keyword (E.g. cisco, Oracle, etc).
Currently skipping courses is based on author name. It'll be tedious to find authors of courses for which I've no interest.

Describe alternatives you've considered
No alternatives considered as it's tedious.

Additional context
Good Luck.

Error :- "Object is not subscriptable" And it stops working after this

Traceback (most recent call last):
File "udemy.py", line 308, in get_course_id
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 649, in main1
File "udemy.py", line 483, in auto
File "udemy.py", line 313, in get_course_id
TypeError: 'NoneType' object is not subscriptable

image

Exception ignored in: <bound method Chrome.__del__ of <browser_cookie3.Chrome object at 0x7fd4cc3e5128>>

after running this
python3 udemy.py

output:
Auto login failed!!, try by adding cookie file using "py udemy.py -c cookie_file.txt"
Exception ignored in: <bound method Chrome.del of <browser_cookie3.Chrome object at 0x7f5356f6f0b8>>
Traceback (most recent call last):
File "/home/mudrakwik/Documents/temp/Udemy course grabber/Udemy-Course-Grabber/venv/lib/python3.6/site-packages/browser_cookie3/init.py", line 250, in del
AttributeError: 'NoneType' object has no attribute 'remove'

so i ran this

python3 udemy.py -c cookie_file.txt

output:
Auto login failed!!, try by adding cookie file using "py udemy.py -c cookie_file.txt"
Exception ignored in: <bound method Chrome.del of <browser_cookie3.Chrome object at 0x7fd4cc3e5128>>
Traceback (most recent call last):
File "/home/mudrakwik/Documents/temp/Udemy course grabber/Udemy-Course-Grabber/venv/lib/python3.6/site-packages/browser_cookie3/init.py", line 250, in del
AttributeError: 'NoneType' object has no attribute 'remove'

System Info:

  • OS: ubuntu 18
  • d chrome

error

Traceback (most recent call last):
File "udemy.py", line 544, in main1
auto(links_ls)
File "udemy.py", line 419, in auto
cat, lang = get_catlang(course_id)
File "udemy.py", line 335, in get_catlang
return r["primary_category"]["title"], r["locale"]["simple_english_title"]
KeyError: 'primary_category'
Capture

doesn´t work... :-/


| | | (____ \ () ___ | | | | / | ( ) | | |
| | | |
\ \ _____ | | _ | | |
| | | / ___) )/| | |
| | | | | | | ) | || || |_
/ | | | //)|
|
| |
| | |/ /| || || || | ___ | _| | | | _
_
|/ |_)||||| () _)| (/|||

[*] Auto Login Successful!

[*] Websites Available:
Comidoc
Discudemy
Udemy Freebies
Udemy Coupons
Real Discount
Tricks Info
Free Web Cart
Course Mania
Jojo Coupons

------->> Comidoc <<-------

Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "udemy.py", line 315, in main
File "udemy.py", line 23, in
File "pack\functions.py", line 260, in comidoc
File "requests\models.py", line 898, in json
File "json_init_.py", line 357, in loads
File "json\decoder.py", line 337, in decode
File "json\decoder.py", line 355, in raw_decode
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 324, in
File "udemy.py", line 321, in main
NameError: name 'exit' is not defined
[44116] Failed to execute script udemy

Add Some more Sites

Will You some More websites If I suggest? In script as well as .exe application which i liked the most 🔥
And can You add User to select from which site user wants to scrap or enroll because if we close the script or application it begins from starting

Got error after run 50% enroll

Describe the bug
After the tool running around 50% it show an error like screenshot below.
the link make tool error. Oracle Fusion Business Intelligence Publisher Udemy. I think because of the course no available anymore.

Screenshots
Screenshot 2021-04-23 12 44 52

Tool info:
Discounted Udemy Course Enroller v3.6
Login method: Cookies login

System Info:
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.19041 N/A Build 19041
System Type: x64-based PC
Chrome Version 90.0.4430.85

Add a feature to apply filters.

Problem 1: The software enrols me into courses that are in foreign languages and hence basically unusable.
Problem 2: Enrols me on some courses like photography, fitness etc. which I have no use of.

I suggest that you add some kind of filters to choose the required types of courses. Languages can easily be filtered as it is specified on every course page.
For the solution to the second, maybe I could specify some word and if that word is available in the course name/description you enrol me into it otherwise skip.

I am grateful for this amazing software just want it to get better! Cheers!

Categories skipped if language is not English

Describe the bug
I've noticed that I won't be enrolled on courses because the scripts claims that I've excluded a category.
The category was "Programmierung" which translates to programming/dev. My account is/was on German, as soon I changed the language of my account to English it work as expected.

To Reproduce
Steps to reproduce the behaviour:

  1. Set your account to a different language than English
  2. Enroll on all courses
  3. Enrollment won't be done because of mismatch/declined categories

Screenshots

duce-settings

duce-skips

duce-no-skips

System Info:

  • OS: Win10
  • Browser: Firefox
  • Version: v3.8

First step would be to include a hint that the language in the account settings should be set to English

Seeking documentation (not install instructions but configuration for usage)

Hello, I'm seeking documentation on how to configure. I've been able to install, figured out the cookie based login approach (but I'll be that's not intuitive for some), but now want to configure for which courses, and ideally not to automatically register (at least until I have some confidence that only the courses I'm interested in are being registered for). I've searched for config instructions but have been unable to find so far. If these do exist, just referencing them in response would resolve this I believe. Or if this is simply not available and I should look at running this through Python, then that would be good to know as well. Thanks for your time.

GIVE PROPER CREDITS

It would be better to give proper credits to the real author/repository rather then just writing the name here, and I never ignored the pull requests don't just fake everything lol.

Unknow error(ConnectionAbortedError: [WinError 10053])

Error when enrolling to courses

Traceback (most recent call last):
File "urllib3\connectionpool.py", line 699, in urlopen
File "urllib3\connectionpool.py", line 445, in _make_request
File "", line 3, in raise_from
File "urllib3\connectionpool.py", line 440, in _make_request
File "http\client.py", line 1344, in getresponse
File "http\client.py", line 307, in begin
File "http\client.py", line 268, in _read_status
File "socket.py", line 669, in readinto
File "ssl.py", line 1241, in recv_into
File "ssl.py", line 1099, in read
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "requests\adapters.py", line 439, in send
File "urllib3\connectionpool.py", line 755, in urlopen
File "urllib3\util\retry.py", line 532, in increment
File "urllib3\packages\six.py", line 734, in reraise
File "urllib3\connectionpool.py", line 699, in urlopen
File "urllib3\connectionpool.py", line 445, in _make_request
File "", line 3, in raise_from
File "urllib3\connectionpool.py", line 440, in _make_request
File "http\client.py", line 1344, in getresponse
File "http\client.py", line 307, in begin
File "http\client.py", line 268, in _read_status
File "socket.py", line 669, in readinto
File "ssl.py", line 1241, in recv_into
File "ssl.py", line 1099, in read
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionAbortedError(10053, 'An established connection was aborted by the software in your host machine', None, 10053, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "udemy.py", line 664, in main1
File "udemy.py", line 520, in auto
File "udemy.py", line 378, in get_catlang
File "requests\sessions.py", line 555, in get
File "requests\sessions.py", line 542, in request
File "requests\sessions.py", line 655, in send
File "requests\adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionAbortedError(10053, 'An established connection was aborted by the software in your host machine', None, 10053, None))

image

Please add support for hindi language

PLease add support for hindi language too
It would be a great help.
Becauce hindi mai ache se aur aaram se samajh aa jata hai.
Thank you for this amazing application

Not Enrolling In Paid Courses

Bot is not working for paid courses, it does not enroll though it have valid coupon code.
It have always say "Coupon Expired :(".

Program keeps retrying on error on Discudemy

Describe the bug
Program keeps retrying on error on Discudemy
I can't find a way to bypass this.

To Reproduce
Just launch the script...

Screenshots
udemy

System Info:

  • OS: Windows 10 20H2
  • d [e.g. chrome, safari] : Chrome 87.0.4280.88
  • Version [e.g. 22]

Error : You do not have permission to perform this action.

I run it up I get this:

` _ _ _____ _______ ______ _ _ ______ ______ _ _ _
| | | (____ \ () ___ | | | | / | ( ) | | |
| | | |
\ \ _____ | | _ | | |
| | | / ___) )/| | |
| | | | | | | ) | || || |_
/ | | | //)|
|
| |
| | |/ /| || || || | ___ | _| | | | _
_
|/ |_)||||| () _)| (/|||

[*] Auto Login Successful!

[*] Websites Available:
Discudemy
Udemy Freebies
Udemy Coupons
Real Discount
Tricks Info
Free Web Cart
Course Mania
Jojo Coupons
Online Tutorials

------->> Discudemy <<-------

LOADING URLS: [■■■■□□□□□□]

[] 1 The Complete Microsoft Excel Pivot Tables and Pivot Chartshttps://www.udemy.com/course/the-complete-microsoft-excel-pivot-tables-and-pivot-charts/?couponCode=PIVOTDEC01
You do not have permission to perform this action.
[
] 1 The Complete Microsoft Excel Pivot Tables and Pivot Chartshttps://www.udemy.com/course/the-complete-microsoft-excel-pivot-tables-and-pivot-charts/?couponCode=PIVOTDEC01
You do not have permission to perform this action.`

It repeats until I kill it. I am logged into Udemy just fine

List Index Out Of Range

Describe the bug
List Index Out Of Range

To Reproduce
First 3 websites generate this error, the rest do not.

Screenshots
image

System Info:

  • OS: Windows Server

Comidoc not working

image
image
It shows that the coupons are expired when they are still valid
Appreciate ur work.

json error

hhh

i get this error every time in every course

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.