Skip to content

Instantly share code, notes, and snippets.

@husam-ebish
Created June 26, 2020 22:18
Show Gist options
  • Save husam-ebish/3d100f749570f593535da1bc82bfc5ea to your computer and use it in GitHub Desktop.
Save husam-ebish/3d100f749570f593535da1bc82bfc5ea to your computer and use it in GitHub Desktop.

Revisions

  1. Jesper Orb revised this gist Jun 4, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -68,6 +68,6 @@ youtube-dl --username "username" --password "password" -o "~/path/to/course/fold
    I do not know which length of sleep-interval to use anymore, you have to try for yourself. Higher value -> safer but also slower.

    # IMPORTANT
    The argument `--sleep-interval 120` is important. It means that the program will wait 120s (2 minutes) before it downloads the next video. If you don't use this flag _Pluralsight_ will ban you because you are doing too many requests under a short period of time.
    The argument `--sleep-interval 120` is important. It means that the program will wait 120s (2 minutes) before it downloads the next video. If you don't use this flag _Pluralsight_ will ban you because you are doing too many requests under a short period of time. This interval was the sleep interval that was suggested 2 years ago when I first wrote this based on issues in the `youtube-dl`-repository. I have no idea how the interval holds up, it can probably be shorter.

    >We have blocked your account because our security systems have flagged your Pluralsight account for an unusual amount activity. This does mean a high volume of requests that are in the realm of a request every 10-30 seconds for a prolonged period of time. Please note that this high volume of activity is in violation of our terms of service [https://www.pluralsight.com/terms].
  2. Jesper Orb revised this gist Jun 4, 2019. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -58,6 +58,8 @@ Example:
    youtube-dl --username "[email protected]" --password "yourPassword" --verbose --sleep-interval 120 "https://app.pluralsight.com/library/courses/javascript-fundamentals/"
    ```

    Add `--all-subs` if you want subtitles downloaded and `--restrict-filenames` if you have a problem with failing filenames on download.

    ### UPDATE **2019-04-17**
    I haven't used this in a while and not tested it lately. But according to comments below by **@mercxry** (thank you!) this should work on atleast _MacOS_ where you replace the username, password and path to your folder to your own credentials. This will also let you format the output better and categorize the files.
    ```
  3. Jesper Orb revised this gist Apr 17, 2019. 1 changed file with 7 additions and 0 deletions.
    7 changes: 7 additions & 0 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -58,6 +58,13 @@ Example:
    youtube-dl --username "[email protected]" --password "yourPassword" --verbose --sleep-interval 120 "https://app.pluralsight.com/library/courses/javascript-fundamentals/"
    ```

    ### UPDATE **2019-04-17**
    I haven't used this in a while and not tested it lately. But according to comments below by **@mercxry** (thank you!) this should work on atleast _MacOS_ where you replace the username, password and path to your folder to your own credentials. This will also let you format the output better and categorize the files.
    ```
    youtube-dl --username "username" --password "password" -o "~/path/to/course/folder/%(playlist)s/%(chapter_number)s - %(chapter)s/%(playlist_index)s - %(title)s.%(ext)s" --min-sleep-interval 30 --max-sleep-interval 60 https://app.pluralsight.com/library/courses/python-big-picture/ --playlist-start 1
    ```
    I do not know which length of sleep-interval to use anymore, you have to try for yourself. Higher value -> safer but also slower.

    # IMPORTANT
    The argument `--sleep-interval 120` is important. It means that the program will wait 120s (2 minutes) before it downloads the next video. If you don't use this flag _Pluralsight_ will ban you because you are doing too many requests under a short period of time.

  4. Jesper Orb revised this gist May 19, 2017. No changes.
  5. Jesper Orb revised this gist May 19, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ The flags you have to supply may vary depending on which site you make a request

    ##### For **macOS/UNIX**

    With [`brew`] for macOS(https://brew.sh/):
    With [`brew`](https://brew.sh/) for macOS:

    ```bash
    brew install youtube-dl
  6. Jesper Orb revised this gist May 19, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -38,6 +38,8 @@ sudo chmod a+rx /usr/local/bin/youtube-dl

    Download with npm as above or just download the `exe`-file from the link below and [put the `exe` in your _PATH_](https://gist.github.com/jesperorb/836cb398e4bb8dc149902d68d3711295).

    Or download with `npm` like above.

    [Source: youtube-dl download](https://rg3.github.io/youtube-dl/download.html)

    ## Usage
  7. Jesper Orb revised this gist May 19, 2017. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -4,11 +4,13 @@ You can download whole courses from an array of tutorial sites with the CLI tool

    The flags you have to supply may vary depending on which site you make a request to.

    **You can get a free 3 month trial to Pluralsight by signing up for free to [Visual Studio Dev Essentials](https://www.visualstudio.com/dev-essentials/)**

    ## Installation

    ##### For **macOS/UNIX**

    With [`brew`](https://brew.sh/):
    With [`brew`] for macOS(https://brew.sh/):

    ```bash
    brew install youtube-dl
  8. Jesper Orb revised this gist Apr 21, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -34,7 +34,7 @@ sudo chmod a+rx /usr/local/bin/youtube-dl

    ##### For Windows

    Download with npm as above or just download the `exe`-file from the link below and put the `exe` in your _PATH_.
    Download with npm as above or just download the `exe`-file from the link below and [put the `exe` in your _PATH_](https://gist.github.com/jesperorb/836cb398e4bb8dc149902d68d3711295).

    [Source: youtube-dl download](https://rg3.github.io/youtube-dl/download.html)

  9. Jesper Orb revised this gist Apr 21, 2017. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -31,6 +31,11 @@ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtub
    sudo chmod a+rx /usr/local/bin/youtube-dl
    ```


    ##### For Windows

    Download with npm as above or just download the `exe`-file from the link below and put the `exe` in your _PATH_.

    [Source: youtube-dl download](https://rg3.github.io/youtube-dl/download.html)

    ## Usage
  10. Jesper Orb revised this gist Apr 21, 2017. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -6,15 +6,15 @@ The flags you have to supply may vary depending on which site you make a request

    ## Installation

    ##### For **Mac/UNIX**
    ##### For **macOS/UNIX**

    With `brew`:
    With [`brew`](https://brew.sh/):

    ```bash
    brew install youtube-dl
    ```

    With `npm`:
    With [`npm`](https://www.npmjs.com/):

    ```bash
    npm install youtube-dl
    @@ -31,7 +31,7 @@ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtub
    sudo chmod a+rx /usr/local/bin/youtube-dl
    ```

    [https://rg3.github.io/youtube-dl/download.html](https://rg3.github.io/youtube-dl/download.html)
    [Source: youtube-dl download](https://rg3.github.io/youtube-dl/download.html)

    ## Usage

  11. Jesper Orb revised this gist Mar 21, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -41,6 +41,7 @@ Run the following command in your terminal to download all the videos to the fol

    ```bash
    youtube-dl --username "[email protected]" --password "yourPassword" --verbose --sleep-interval 120 "link to course"
    ```

    Example:

  12. Jesper Orb revised this gist Mar 21, 2017. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -48,7 +48,6 @@ Example:
    youtube-dl --username "[email protected]" --password "yourPassword" --verbose --sleep-interval 120 "https://app.pluralsight.com/library/courses/javascript-fundamentals/"
    ```


    # IMPORTANT
    The argument `--sleep-interval 120` is important. It means that the program will wait 120s (2 minutes) before it downloads the next video. If you don't use this flag _Pluralsight_ will ban you because you are doing too many requests under a short period of time.
  13. Jesper Orb created this gist Mar 21, 2017.
    55 changes: 55 additions & 0 deletions youtube-dl.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,55 @@
    # Download courses from learning sites with `youtube-dl`

    You can download whole courses from an array of tutorial sites with the CLI tool `youtube-dl`. In the example further down I'm using my Pluralsight account to get videos from a course at their site. [Here is a list of all supported sites that you can download from with this tool](https://rg3.github.io/youtube-dl/supportedsites.html)

    The flags you have to supply may vary depending on which site you make a request to.

    ## Installation

    ##### For **Mac/UNIX**

    With `brew`:

    ```bash
    brew install youtube-dl
    ```

    With `npm`:

    ```bash
    npm install youtube-dl
    ```

    Or you can `curl`/`wget` the thing:

    ```bash
    sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
    sudo chmod a+rx /usr/local/bin/youtube-dl
    ```
    ```bash
    sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
    sudo chmod a+rx /usr/local/bin/youtube-dl
    ```

    [https://rg3.github.io/youtube-dl/download.html](https://rg3.github.io/youtube-dl/download.html)

    ## Usage

    ### Example: download from **Pluralsight**

    Run the following command in your terminal to download all the videos to the folder you are currently in. Substitute the example credentials with your own and supply a link to the course.

    ```bash
    youtube-dl --username "[email protected]" --password "yourPassword" --verbose --sleep-interval 120 "link to course"

    Example:

    ```bash
    youtube-dl --username "[email protected]" --password "yourPassword" --verbose --sleep-interval 120 "https://app.pluralsight.com/library/courses/javascript-fundamentals/"
    ```


    # IMPORTANT
    The argument `--sleep-interval 120` is important. It means that the program will wait 120s (2 minutes) before it downloads the next video. If you don't use this flag _Pluralsight_ will ban you because you are doing too many requests under a short period of time.
    >We have blocked your account because our security systems have flagged your Pluralsight account for an unusual amount activity. This does mean a high volume of requests that are in the realm of a request every 10-30 seconds for a prolonged period of time. Please note that this high volume of activity is in violation of our terms of service [https://www.pluralsight.com/terms].