In this tutorial we will see how to download Linkedin learning courses with a simple cli tool. Just a quick setup and you will be able to download videos and courses.
Prerequisites
We will need Python3.
Now, what's next?
Open your terminal or command line and download a python package from PyPi called llvd
which stands for Linkedin Learning Video Downloader
$ pip install llvd
If you have multiple versions of python installed in your system, use pip3 instead.
$ llvd --help
If the above command does not fail, you can continue with the tutorial
To download a course:
- Log in to the Linkedin Learning app.
Navigate to the course of your choice.
Copy its slug.
- Open your terminal or command line.
- Copy the command given below and replace
course-slug
with your copied course slug and run it
$ llvd -c "course-slug" -r 720
llvd
creates separate folders for each course you download, groups all videos by chapters, and renames all downloaded videos with video names so that they will be ordered properly.
To download a course you have to specify its name (-c
flag ).
How it looks like in action
Available features with this tool
- Cookie-based authentication
- Download a course and all its exercises
- Group videos by chapters
- Ability to download video subtitles(by specifying
--caption
flag) - Ability to resume failed downloads
- Option to choose video format (360p, 540p, 720p) using
-r
flag
Cookie-based Authentication
- Click on the options in google chrome (top right with 3 vertical dots).
After this, click on more tools followed by Developer Tools (you can also reach here by using the keyboard combination —
ctrl+shift+I
).Now once you’ve gained access to the developer tools, navigate to the Application tab, and copy the value of two cookies from there named
li_at
andJSESSIONID
respectively.Create a cookies.txt file to a place you want to download your courses then paste in the values of
li_at
andJSESSIONID
as shown below.
li_at=xxxxx
JSESSIONID="ajax:xxxxxx"
$ llvd -c "course-slug" -r 720 --cookies
Download the course with subtitles
Use the --caption
flag to download videos with subtitles
$ llvd -c "course-slug" -r 720 --caption
or
$ llvd -c "course-slug" -r 720 -ca
Wrapping up
If you liked this tutorial you might as well head over to Github and leave a star to this awesome open source project llvd
Thanks for reading 😊!
Top comments (57)
Thanks is working now perfect
Awesome
sometimes it says This video is locked, you probably need a premium account
That happens when you don't have a premium account and you are trying to download a paid course
am using library card to access
Linkedin has added a security layer where while using library card, they hide download links in their API.
thanks for wonderfull tool i will pay for premium account and download everything i need to study
You are welcome. you can even use a free trial account :)
thanks
I have the same issue, I can access the full courses online on the browser (my linkedin account is linked to my corporate learning account). It downloads some videos but not all from the course.
Any solution found @luisguilherme ?
C:\Users\User1>llvd -c what-is-php-for-wordpress -r 720
Please enter your Linkedin email address: mrshahid@outlook.com
Enter your Linkedin Password:
Traceback (most recent call last):
File "c:\python39\lib\site-packages\llvd\app.py", line 106, in download_entire_course
course_name = r.json()['elements'][0]['title']
KeyError: 'elements'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python39\Scripts\llvd-script.py", line 33, in
sys.exit(load_entry_point('llvd==2.2.5', 'console_scripts', 'llvd')())
File "c:\python39\lib\site-packages\click\core.py", line 829, in call
return self.main(*args, **kwargs)
File "c:\python39\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "c:\python39\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\python39\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "c:\python39\lib\site-packages\llvd_init.py", line 60, in main
llvd.run()
File "c:\python39\lib\site-packages\llvd\app.py", line 81, in run
self.download_entire_course()
File "c:\python39\lib\site-packages\llvd\app.py", line 179, in download_entire_course
os.remove(f'{self.chapter_path}/{self.current_video_index:0=2d}-{clean_name(self.current_video_name)}.mp4')
TypeError: unsupported format string passed to NoneType.format_
C:\Users\User1>
You are getting this error because you are using the wrong slug for the course
Instead of using
what-is-php-for-wordpress
you should usephp-for-wordpress
.It is advised to navigate to a course you are trying to download, then copy the slug from there instead of the course name
I am guessing this the course you were trying to download (linkedin.com/learning/php-for-word...
)
Make sure you also update to the latest version 2.2.6 with better error handling
Thanks for using the tool 😊
Working!!! On Windows.
For dummies like me
Ex:
cd "C:\Users\Share Full Vn.DESKTOP-K6RVJFF\AppData\Local\Programs\Python\Python39\Scripts"
// My Python ver is 3.9
3 - Type "pip install llvd" in CMD and wait
4 - Create a txt file with the exact name "cookies.txt" as above instruction
5 - Put that txt file in the folder "Scripts" above
6 - Type your custom code and hit Enter to download
EX:
If I want download this course: engineering-drawings-for-manufacturing
My code:
llvd -c "engineering-drawings-for-manufacturing" -r 720 --cookies
-c: name of the of the course with slug
-r 720: Videp 720p
-ca: Download the course with subtitles
--cookies: use cookies in "cookies.txt" to allow authentication to get the video download link of the course
The course will save in folder "Scripts" above
I Tried Following the above steps by it asks me my LinkedIn Learning Creds and my account is not a premium one. However, i have a Student Library card with which i'm logged in but don't have the Email account for that, How can i download in that case ?
You could login with your library card in the browser then grab the cookies and use that with llvd..
Follow these instructions github.com/knowbee/llvd#cookie-bas...
I did this , but did not see your comment before doing it. could have saved so much time atleast 40 mins :)
Good Morning!
Firstly, thanks for the program, your time, your efforts:
Very helpful tool :)
I’ve encountered issues concerning video quality resolutions. By default it’s 720p, but using, for example, this following link:
linkedin.com/learning/advanced-dru...
…the results are a mix of 540p and 720p, though all 540p still have their corresponding 720p versions available; I can even download them from the “Internet Download Manager” button through its browser extension.
I’ve also tried with another downloader… Same results!
Any ideas on how to fix it ?
Thanks ;)
guys maybe am doing something wrong
C:\Users\user1\AppData\Local\Programs\Python\Python38-32\Scripts>llvd -c "cisco-C:\Users\user1\AppData\Local\Programs\Python\Python38-32\Scripts>llvd -c "cisco-certified-cyberops-associate-cert-prep-1" -r 720 --cookies
Using cookie info from cookies.txt
Your cookie is expired
It worked. i tried both password and cookie method. both worked. Mostly you are using an expired cookie or a wrong jsession id
I tried it and it worked. I don't have a premium linkedin account. I was able to download the 24 hours free course I'm learning. Thank youuu!!!
You can use a library card (eCard).
What is that?
Glad the tool was helpful
This was working fine for me, but all of the sudden when I put in the course it asks me for my email and I can enter that fine. Then it tells me to put in my password and I try to type it in but whenever I press any keys, nothing shows up on the screen and im unable to enter my password. Any thoughts? I've tried uninstalling and reinstalling and that didn't work.
Brilliant! Thanks.
I appreciate your effort and thoughtfulness for building this amazing tool.
I did install the library tool and followed the instructions above to the best of my knowledge. However, I have something like this text below but I just can't input my password to proceed the download.
Enter your Linkedin Password:
Although, I could enter my LinkedIn email address. Mind you, I have a trial account on LinkedIn learning.
How do I proceed from here?
Thanks so much.
Would i be able to download multiple parallel courses at the same time by opening multiple CMD.
Yes