Do you want to LEARN NEW STUFF for FREE? Don't worry, with the power of web-scraping and automation, this script will find the necessary Udemy Coupons & enroll you to PAID UDEMY COURSES, ABSOLUTELY FREE!
The code scrapes course links and coupons from tutorialbar.com
In case of any bugs or issues, please open an issue in github.
Also, don't forget to Fork & Star the repository if you like it!
Video Proof:
- Use this ONLY for Educational Purposes! By using this code you agree that I'm not responsible for any kind of trouble caused by the code.
- Make sure web-scraping is legal in your region.
- This is NOT a hacking script, i.e., it can't enroll you for a specific course! Instead it finds courses that provide coupon links to make the transaction free and then LEGALLY enroll you to the course!
Required Python version: Python 3.8+
You must have pip or poetry installed. Please look up how to install them in your OS.
Download a release of this project or clone the repository then navigate to the
folder where you placed the files on. Type pip install -r requirements.txt
to
get all the requirements installed in one go. Similar instructions applies for poetry.
- Webdrivers are now automatically installed! But here are some links in case you are using the vanilla script or the Safari Browser:
- Edge- https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
- Chrome- https://chromedriver.chromium.org/
- Firefox- https://github.com/mozilla/geckodriver/releases/
- Safari- https://developer.apple.com/documentation/webkit/about_webdriver_for_safari/
- Opera- https://github.com/operasoftware/operachromiumdriver/releases
- Internet Explorer- Find it on your own accord
Note: Make sure that the driver version matches your browser.
1 . Make sure to install all the requirements above.
- Run the script and the cli will guide you through the settings required
- Otherwise you can rename the following file sample_settings.yaml to settings.yaml and edit it using a text editor and insert your Udemy registered email in the email section, your Udemy password in the password section, and the ZIP Code in the zipcode section (if you reside in the United States or any other region where Udemy asks for ZIP Code as Billing Info, else enter a random number) Additionally you can add your preferred languages and course categories.
2 . Choose the appropriate file for your browser (from the list below):
-
Tested and works perfectly:
- Chrome: udemy_enroller_chrome.py
- Chromium: udemy_enroller_chromium.py
- Edge: udemy_enroller_edge.py
-
Has issues when run on custom kernel but works fine on vanilla OS:
-
Untested:
- Opera: udemy_enroller_opera.py
-
Experimentation or other Browsers (especially Safari):
-
Use at your own risk:
- Vanilla
- Internet Explorer: udemy_enroller_internet_explorer.py
3 . The script can be passed arguments:
--help
: View full list of arguments available--max-pages=<NUMBER>
: Max number of pages to scrape from tutorialbar.com before exiting the script--browser=<BROWSER_NAME>
: Run with a specific browser--cache-hits=<NUMBER>
: If we hit the cache this number of times in a row we will exit the script
4 . Run the chosen script in terminal like so:
-
python udemy_enroller_firefox.py
Or by using the generic script:
-
python udemy_enroller.py --browser=firefox
5 . The bot starts scraping the course links from the first All Courses page on Tutorial Bar and starts enrolling you to Udemy courses. After it has enrolled you to courses from the first page, it then moves to the next Tutorial Bar page and the cycle continues.
- Stop the script by pressing ctrl+c in terminal to stop the enrollment process.
Unfortunately no, but let me assure you that you may be lucky enough to get a particular course for free when the instructor posts its coupon code in order to promote it. Also, over time you would build a library of courses by running the script often and have all the required courses in your collection. In fact, I made this course after completing a Python automation course and selenium, which of course I got for free! :)
The bot retrieves coupon links from Tutorial Bar's list to cut the prices and then uses Selenium's Browser automation features to login and enroll to the courses. Think of it this way: Epic Games & other clients like Steam provide you a handful of games each week, for free; Only in this case, we need a coupon code to make those courses free.
Daily, at least once! I've painstakingly amassed over 4000 courses in the last four years! And out of those 4000, I've only paid for 4 of these courses.
So, a mere 0.001% of courses are actually paid in my collection! Thankfully, you can get more than what I gathered in 4 years, in a matter of weeks! ๐๐ป
It used to be my daily habit to redeem courses and it was an extremely tedious task that took around 15 minutes, for 10 courses. And then I suddenly got the idea to automate it, after I found the automation course mentioned above. I bet, it will save your precious time too! :)
Relax! This happens when you run the script several times in a short interval of time. Solve the captcha, hit enter in the terminal window you are running the script from and allow the script to continue as normal. Easy peasy lemon squeezy! ๐๐
Since we are heavily dependent on a third-party site to retrieve coupons links, there may be issues when the site is down. Needless to mention the connectivity issues too. If everything is working fine, you can see the courses being retrieved in the Python console/shell, which may take a while.
It is recommended to run the script using your terminal and system python.
Pull request should be made on "develop" branch.
Take a look at our Roadmap here and help us on what you want or talk to us about your proposed changes.
Thanks to JetBrains for supporting us. They are the maker of world class IDE and developer tooling. If you think their product might help you, please support them.
Thanks to Gitbook for supporting us. Gitbook is the best place to track personal notes and ideas for teams. If you think their product might help you, please support them.