How To Get a Free Full Plural Sight Subscription / Download Courses automatically from PluralSight

1-Get a Free Full PluralSight Subscription 

-Navigate to “Visual studio Dev Essentials” from Google
1.PNG

 

-Click to Join Now and Sign in with your Microsoft Email

2.PNG

 

-Click on Get Code then Click on Activate
3.PNG

-Fill your info to continue like here
4.PNG

 

-Complete your Plural Sight Basic Info5.PNG

 

 

 

 

-Choose a course you are interested in
6.PNG

 

2-Download Courses Automatically from PluralSight

-Specify the target Course you want
Click on Start Course
7.PNG

-Click Pause when the first video is loaded8.PNG

-Right Click on the page and select Inspect Elements
or Ctrl+Shift+I
or F12
9.PNG

-Click on Console
10.PNG
-Navigate to this Code written by Mohamed Anwar
here
http://paste.ofcode.org/xcviMeQdpupuiWC87GkT32
or
http://www.mediafire.com/download/1j72omln9eeegas/Code.txt

11.PNG

-Copy the First Part of the Code
12.PNG

-Put it on the Console and Press Enter
13.PNG

-You should see an output like that
14.PNG

-Go back to the code and copy the code till the end
15.PNG

-The Courses Videos would start Downloading Automatically

 

**Note to Adjust the Downloading Speed
-Copy the Second Part till the last line
15.PNG

-Paste it on the Console window
16.PNG

-Assign download Speed in
dlspeed = 150 ; //like ur speed is 150*8 Kbps
then write
dlVid();  // to call the download function
17.PNG

-And the Download would start Automatically
18.PNG

 

 

 

 

 

Advertisements

47 thoughts on “How To Get a Free Full Plural Sight Subscription / Download Courses automatically from PluralSight

      1. in chorome go to settings > advanced setting > download folder > and change the path ,
        about the file name , i tried to get it but still not working

        Like

      2. Thank you for your effort.

        I just wonder if Pluralsight’s gonna block us because we violate their terms of use? I mean we try to download multiple files in short time. Does it happen?

        Like

    1. you can do it manually , in the main page for the course you wanted , their are some tabs ,, Table of contents
      Description
      Transcript
      Exercise files
      Discussion
      Learning Check
      Recommended
      ..
      choose transcript and copy the whole text
      to a notepad ,, you can now use any open source program to make the subtitle file , but i think it is a hard work -i didn’t tried it-
      so more easily you can put the text file under the video keep moving the cursor while playing video
      but unfortunately this transcript is not come with all the courses

      Like

  1. Please correct the download speed specification. You have denoted as 150 => 150Kb. I am assuming you meant 150KB/s (1.2Mbps). Please denote it as 150KB/s (B = bytes, b = bits are the usual notations used worldwide)

    Like

  2. this is so helpful , how can one make use of “console.save(titlesArray, courseTitle+”.json”);” the titles json to rename all the videos istead of numbers ?

    Like

  3. This is the error I get when I try this on both Google and IE: Object doesn’t support property or method ‘onfullscreen’. What is happening.

    Like

  4. After writing the first part of your script it displays the link to the jQuery file

    When I paste second code it displays

    VM1980:1 Uncaught ReferenceError: jQuery is not defined(…)

    Am I missing something?

    Like

      1. I am getting the same issue. After executing the first part of the script I get the Jquery file link.

        On executing the second part the following error pops up:-

        VM149:7 Uncaught ReferenceError: jQuery is not defined
        at :7:1

        Like

      2. I think this issue because your browser need more time to load the jquery reference file , Try to let the browser the enough amount of time then past the next block of code

        Like

      3. I think this issue because your browser need more time to load the jquery reference file , Try to let the browser the enough amount of time then past the next block of code

        Like

    1. //Firstly

      var jq = document.createElement(‘script’);
      jq.src = “https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js”;
      document.getElementsByTagName(‘head’)[0].appendChild(jq);

      //wait a min then Secondly

      jQuery.noConflict();

      var counter = 1;
      var courseTitle = jQuery(“h1”).first().text().trim().replace(/[^a-zA-Z0-9]/g, “_”)
      var lastVideoName = jQuery(“li”).last().find(“h3”).text().trim();
      var lastVideoDuration = jQuery(“li”).last().find(“div.duration”).text().trim();
      var lastModule = jQuery(“h2”).last().text().trim();
      var lastVidToDl = false;
      var nextVid = “”;
      var nextTitle = “”;
      var nextDuration = “”;
      var nextModule = “”;
      var dlSpeed = 150;
      var minuteSizeInMB = 3;
      var titlesArray = [];

      (function(console){

      console.save = function(data, filename){

      if(!data) {
      console.error(‘Console.save: No data’)
      return;
      }

      if(!filename) filename = ‘console.json’

      if(typeof data === “object”){
      data = JSON.stringify(data, undefined, 4)
      }

      var blob = new Blob([data], {type: ‘text/json’}),
      e = document.createEvent(‘MouseEvents’),
      a = document.createElement(‘a’)

      a.download = filename
      a.href = window.URL.createObjectURL(blob)
      a.dataset.downloadurl = [‘text/json’, a.download, a.href].join(‘:’)
      e.initMouseEvent(‘click’, true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
      a.dispatchEvent(e)
      }
      })(console);

      function dlVid()
      {
      var a = document.createElement(‘a’);
      a.href = jQuery(“video”).attr(“src”);
      var currTitle = jQuery(“ul.clips > li.selected”).find(“h3”).text().trim();
      var currMod = jQuery(“header.active”).find(“h2″).text().trim();
      a.download = currTitle;

      console.log(counter + ” – ” + currMod + ” – ” + currTitle);
      titlesArray.push(counter + ” – ” + currMod + ” – ” + currTitle);
      counter = counter + 1;

      var minutes = parseInt(jQuery(“span.total-time”).text().trim().split(“:”)[0]) + 1;
      var size = minutes * minuteSizeInMB * 1024 * 1024;
      var timeNeeded = Math.ceil((size/(dlSpeed*1024)) * 1000);

      console.log(“Rounded duration: “, minutes, ” minutes”,
      “\nEstimated size: “, size, ” bytes”,
      “\nEstimated time needed: “, timeNeeded, ” msec”);

      a.click();

      jQuery(“#next-control”).click();

      setTimeout(function(){jQuery(“#play-control”).click();}, 10000);

      if(!lastVidToDl)
      {
      setTimeout(dlVid, timeNeeded);
      nextVid = jQuery(“ul.clips > li.selected”).next();
      nextTitle = nextVid.find(“h3”).text().trim();
      nextDuration = nextVid.find(“div.duration”).text().trim();
      nextModule = nextVid.parent().parent().find(“h2″).text().trim();

      if(nextTitle == lastVideoName &&
      nextDuration == lastVideoDuration &&
      nextModule == lastModule)
      {
      lastVidToDl = true;
      }
      }
      else
      {
      console.save(titlesArray, courseTitle+”.json”);
      }
      }

      //Thirdly

      dlSpeed=750;dlVid();

      Like

  5. After pasting the rest code I’m getting below error ,
    could you please check

    VM1228:1 Uncaught ReferenceError: jQuery is not defined(…)

    Like

  6. This always used to work like a charm, but since a couple of days it’s not working anymore.

    When I execute the dlvid() it tries to download three files. One file is called json and contains the following text:

    [
    “1 – – “,
    “2 – – ”
    ]

    The other two fail with a “Failed – No file” error.

    In the console it’s displaying this:

    Rounded duration: NaN minutes
    Estimated size: NaN bytes
    Estimated time needed: NaN msec

    After that, nothing happens. No error messages in the console. Any idea?

    Like

  7. Its not working. It seems that it first scans all the videos in the course and generates a json file. But it is not able to download the videos after that and console shows errors like variable n or t is undefined.
    I tried on Firefox and Safari. Its not working in Chrome. jQuery is not imported in Chrome. Can you help with that please.

    Like

    1. Try this little hack step by step ,
      1.paste the first part of the code and hit enter
      2.Reload the site
      3.paste the same part of the code that you paste before in step1
      4.paste the rest of the code and it should now work
      ..
      if it does/doesnt work with please let me know 🙂

      Like

  8. I use Allavsoft to download trainings videos from pluralsight.

    According to my experience, it also helps to batch download video from Lynda, Udemy, digitaltutors, etc

    I like its tech support and directly and batch download to any video and audio format.

    It has both Mac and Windows version.

    Hope it also helps for you.

    Like

  9. Hi,

    This works good. But problem is, the code is looping repeatedly to download the same file again and again. Even if I’m cancelling the duplicate file, it again starts with new download of the same file. I din’t changed anything in code and just doing the copy paste. Working in Chrome only. Could you pls suggest ?

    Like

  10. Hi!
    it worked fine for the first time. But for second time(another course), conskle is throwing warning message stating “undefined” after execution. please help

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s