Llvd
Linkedin Learning Video Downloader
Install / Use
/learn @knowbee/LlvdREADME
Table of Contents
- Linkedin Learning Video Downloader (LLVD) download links
- Features
- Prerequisites
- Installation
- Common questions
- Examples
- Screenshots
- Author
Linkedin Learning Video Downloader (LLVD) download links
<a name="features"/>Features
| Status | Feature | | :----- | :-------------------------------------- | | ✅ | cookie-based authentication | | ✅ | download by learning path | | ✅ | download a course and all its exercises | | ✅ | group videos by chapters | | ✅ | subtitles | | ✅ | nice progress bar | | ✅ | resume failed downloads | | ✅ | skip already downloaded videos | | ✅ | set video format (360p, 540p, 720p) | | ✅ | all platforms |
<a name="prerequisites"/>Prerequisites
<a name="installation"/>Installation
$ pip --no-cache-dir install llvd
If you have multiple versions of python installed in your system, use pip3 instead.
<!-- TODO: can someone confirm this is how the install would look with pip3? -->$ pip3 --no-cache-dir install llvd
Running from local installation
llvd --help
llvd -c "course-slug" -r 720
Running from docker container
# You will need to either use `docker cp` to get the course or mount it when running.
docker run ghcr.io/knowbee/llvd:master -c "course-slug" -r 720
<a name="windows"/>
Windows Users
When you get 'llvd' is not recognized as an internal or external command after successfully installing llvd, run python3 -m llvd <flags>
Common Questions
<a name="course-slug"/>How do I find the course slug?
- Click on the desired course
- Your URl will look something like,
https://www.linkedin.com/learning/l-essentiel-d-asp-dot-net-core-pour-dot-net-5- The course slug is:
l-essentiel-d-asp-dot-net-core-pour-dot-net-5
- The course slug is:
How do I setup cookie-based authentication?
<!-- NOTE: I tried to get this to work and was having problems. The directions may not be accurate. -->- Click on the options in Google Chrome (top right with 3 vertical dots).
- Click on
More tools->Developer tools- You can also reach here by using the keyboard combination:
ctrl+shift+I).
- You can also reach here by using the keyboard combination:
- Now once you’ve gained access to the developer tools, navigate to the Application tab, and copy the value of two cookies named
li_atandJSESSIONID - Create a file named
cookies.txtand place it in the folder you want to download your courses to - Open the
cookies.txtfile and paste in the values ofli_atandJSESSIONID
li_at=xxxxx
JSESSIONID="ajax:xxxxxx"
<a name="setup-header-based"/>
How do I setup header-based corporate account access?
If you have a corporate connected account you can fix the download issue (where only frist 2 videos download successfully while others fail with "No video URL found" errors) by using a headers.txt as per below.
Method 1: Using Developer Tools (Recommended)
- Create a file named
headers.txtand place it in the folder you want to download your courses to. - Open the Developer Tools in your browser:
- Chrome: Press
Ctrl+Shift+I(Windows/Linux) orCmd+Option+I(macOS) - Firefox: Press
F12orCtrl+Shift+I(Windows/Linux) orCmd+Option+I(macOS)
- Chrome: Press
- Go to the Network tab and refresh the page.
- Filter requests by typing
linkedin.com/learning-apiin the filter box to find relevant API requests. - Click on any of the filtered requests and go to the Headers section.
- In the Request Headers section, you can filter headers by typing
x-li-identityto quickly find the header value. - Copy the
x-li-identityheader value. - Open the
headers.txtfile and paste in the values ofx-li-identityandUser-Agentas shown below:
Method 2: Using Page Source (Alternative)
- Create a file named
headers.txtand place it in the folder you want to download your courses to - Right click on the page and select view source
- You can also reach here by using the keyboard combination:
ctrl+U.
- You can also reach here by using the keyboard combination:
- Search for
enterpriseProfileHashusingctrl+F enterpriseProfileHash":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","copy the code between the double"<img src="https://raw.githubusercontent.com/bigmadkev/knowbee-hosting/master/assets/llvd_FindCodeInSourceCode.png" width="auto" height="auto"/>- Open the
headers.txtfile and paste in the values ofx-li-identityfrom the above.
[!NOTE]
Page source may show HTML-encoded characters like=which should be=:❌ x-li-identity=MTU2NDI0NjQ5LDIxNzM4MTk1Nik= ✅ x-li-identity=MTU2NDI0NjQ5LDIxNzM4MTk1Nik=
Headers File Format
x-li-identity=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
<a name="examples"/>
Examples
<a name="llvd-doc"/>Accessing llvd documentation
$ llvd --help
<a name="use-cookie-based"/>
Using cookie-based authentication
$ llvd -c "course-slug" --cookies
<a name="use-headers-based"/>
Using header-based authentication
Has to use cookies in conjection with headers
$ llvd -c "course-slug" --cookies --headers
<a name="specific-res"/>
Download a course at a specific resolution
$ llvd -c "course-slug" -r 720
Note: The default is set to 720.
<a name="with-sub"/>Download a course with subtitles
$ llvd -c "course-slug" --caption
or
$ llvd -c "course-slug" -ca
<a name="course-path"/>
Download a course path with throttling between 10 to 30 seconds
To avoid rate limits because of downloading a lot of videos, use the following:
$ llvd -p "path-slug" -t 10,30
<a name="screenshot"/>
Screenshots
<p> <img src="https://raw.githubusercontent.com/knowbee/hosting/master/assets/progress_llvd.png" width="auto" height="auto"/> </p> <a name="author"/>Author
Igwaneza Bruce
Related Skills
qqbot-channel
350.8kQQ 频道管理技能。查询频道列表、子频道、成员、发帖、公告、日程等操作。使用 qqbot_channel_api 工具代理 QQ 开放平台 HTTP 接口,自动处理 Token 鉴权。当用户需要查看频道、管理子频道、查询成员、发布帖子/公告/日程时使用。
docs-writer
100.5k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
350.8kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
ddd
Guía de Principios DDD para el Proyecto > 📚 Documento Complementario : Este documento define los principios y reglas de DDD. Para ver templates de código, ejemplos detallados y guías paso
