Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add pluralsight.com extractor #6090

Closed
chovy opened this issue Jun 26, 2015 · 49 comments
Closed

add pluralsight.com extractor #6090

chovy opened this issue Jun 26, 2015 · 49 comments

Comments

@chovy
Copy link

@chovy chovy commented Jun 26, 2015

I'd like to download some videos from pluralsight.com

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Jun 26, 2015

@chovy
Copy link
Author

@chovy chovy commented Jun 26, 2015

You would need credentials to download from pluralsight.

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Jun 26, 2015

It doesn't matter, please post an example url so that if someone wants to work on it they can easily have an example to start with.

@edwardchanjw
Copy link

@edwardchanjw edwardchanjw commented Jul 12, 2015

I don't know if the following still work, a free technet's subscription on PluralSight. End within few day.

https://offers.pluralsight.com/technet?loc=zTS3z&prod=zOTprodz&tech=zOttechz&prog=zOTprogz&type=zSOz&media=zOTmediaz&country=zUSz

@dstftw dstftw mentioned this issue Aug 16, 2015
@dstftw dstftw closed this in 483fc22 Aug 23, 2015
@dstftw
Copy link
Collaborator

@dstftw dstftw commented Aug 23, 2015

Pluralsight will be supported in the next version.

@chovy
Copy link
Author

@chovy chovy commented Aug 23, 2015

awesome.

@poudigne
Copy link

@poudigne poudigne commented Aug 24, 2015

is the pluralsight downloader released yet ?
Edit: Sorry saw the commit after the comment.

One last question, is it possible to do the same for Digital Tutors (which is owned by Pluralsight now)

Here's a sample URL that plays the video : http://www.digitaltutors.com/tutorial/2160-Creating-a-Turn-Based-Game-in-Unity-and-PlayMaker#play-50967

@chovy
Copy link
Author

@chovy chovy commented Aug 24, 2015

I opened a ticket for digitaltutors.com
#6658

@kasibkismath
Copy link

@kasibkismath kasibkismath commented Jan 12, 2016

youtube-dl downloads for Pluralsight is not working from today

@chovy
Copy link
Author

@chovy chovy commented Jan 13, 2016

+1 for a fix

@tfrangio
Copy link

@tfrangio tfrangio commented Jan 16, 2016

First Thanks for the _youtube-dl_ it _ROCKS!_

Can some one post the correct command to download from Pluralsight once it is fixxed. Right now I am using:

youtube-dl --username <myusername> --password <mypassword> <Pluralsight Video URL>

I am on windows 7 - 64 bit. Here is the result of the _youtube-dl.exe -v_:

C:\Users\efrangio\Downloads>youtube-dl.exe -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.01.15
[debug] Python version 2.7.10 - Windows-7-6.1.7601-SP1
[debug] exe versions: none
[debug] Proxy map: {}
Usage: youtube-dl.exe [OPTIONS] URL [URL...]

youtube-dl.exe: error: You must provide at least one URL.
Type youtube-dl --help to see a list of all options.

C:\Users\efrangio\Downloads>

I get this error:

[generic] player?course=linux-managing-dns-servers-lpic-2: Requesting header
WARNING: Could not send HEAD request to https://app.pluralsight.com/player?cours
e=linux-managing-dns-servers-lpic-2: HTTP Error 400: Bad Request
[generic] player?course=linux-managing-dns-servers-lpic-2: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 400: Bad Request (caused by HTTPEr
ror()); please report this issue on https://yt-dl.org/bug . Make sure you are us
ing the latest version; type  youtube-dl -U  to update. Be sure to call youtube-
dl with the --verbose flag and include its complete output.
'author' is not recognized as an internal or external command,
operable program or batch file.
'name' is not recognized as an internal or external command,
operable program or batch file.
ERROR: Invalid argument/option - '=0'.
Type "CLIP /?" for usage.
Invalid parameter - =live

Any ideas on how to get this working would be infinitely appreciated?

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Jan 16, 2016

Looks like you need some more quotation marks in your command. See this FAQ entry. If the problem is still, feel free to open a new issue with the full command you're using and the output.

@tfrangio
Copy link

@tfrangio tfrangio commented Jan 18, 2016

Thanks for your quick help. I tried to put the url in double quotes like this:

youtube-dl --username <myusername> --password <mypassword> "<Pluralsight Video URL>"

Here was the result:

[generic] player?course=linux-managing-dns-servers-lpic-2&author=andrew-mallett&
name=linux-managing-dns-servers-lpic-2-m1&clip=0&mode=live: Requesting header
WARNING: Falling back on generic information extractor.
[generic] player?course=linux-managing-dns-servers-lpic-2&author=andrew-mallett&
name=linux-managing-dns-servers-lpic-2-m1&clip=0&mode=live: Downloading webpage
[generic] player?course=linux-managing-dns-servers-lpic-2&author=andrew-mallett&
name=linux-managing-dns-servers-lpic-2-m1&clip=0&mode=live: Extracting informati
on
ERROR: Unsupported URL: https://app.pluralsight.com/player?course=linux-managing
-dns-servers-lpic-2&author=andrew-mallett&name=linux-managing-dns-servers-lpic-2
-m1&clip=0&mode=live

This was definitely one of my issues but I am getting a _Unsupported URL_ error now.

@mousepotato
Copy link

@mousepotato mousepotato commented Jan 19, 2016

You may not be able to download using a specific video URL page, but the course URL page is OK.
e.g., youtube-dl --username --password "https://app.pluralsight.com/library/courses/using-wmi-and-cim-powershell"

@tfrangio
Copy link

@tfrangio tfrangio commented Jan 20, 2016

Thanks a bunch mousepotato,

The solution to my issue was to use the _course URL page_ in double quotes just as shown above. As soon as I did that I got the videos to download.

@vnpnlz
Copy link

@vnpnlz vnpnlz commented Jan 23, 2016

This doesn't work for me. I got an error Unable to download the page : <urlopen error [Errno 8]]> __ssl.c:510 EOF occured in violation of protocol>

@trashbat
Copy link

@trashbat trashbat commented Jan 27, 2016

Be warned that you may find yourself locked out of your account if you download too much data from them, this is the email I received earlier:

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].

In my case I'd just downloaded a single course and I was halfway through downloading a second one. Easy enough to get it unblocked, though, you just have to email support.

@dstftw
Copy link
Collaborator

@dstftw dstftw commented Jan 27, 2016

@trashbat what version have you used? Post the output of youtube-dl -v.

@trashbat
Copy link

@trashbat trashbat commented Jan 27, 2016

@dstftw I was using latest master, output is 2016.01.27. It did pause between each video to avoid throttling, but Pluralsight still didn't like the volume of data that I was downloading from them (~1.1GB from 2 courses when they locked my account).

@dstftw
Copy link
Collaborator

@dstftw dstftw commented Jan 27, 2016

Have you downloaded courses in parallel? What was the --sleep-interval you used? There is already a anti-throttling sleep that previously worked in most of the cases.

@trashbat
Copy link

@trashbat trashbat commented Jan 27, 2016

@dstftw No I downloaded them sequentially, and I didn't specify a --sleep-interval. Perhaps I was just unlucky; the first course that I downloaded was rather large (691MB), and I managed to get 426M of the second one downloaded before my account was locked. Could also be due to my fast connection speed at work (~750 Mbit/s), which meant that the data was downloaded in a short space of time.

@tfrangio
Copy link

@tfrangio tfrangio commented Feb 3, 2016

I had a problem with getting locked out of this site as well. I found that crawling the site like a snail has worked for me. As I am in no rush to download an entire course this is fine with me. I set this in the morning and by the end of the day I have a course downloaded. I did this because I had already been locked out once and did not want to have that happen again.

The two parameters that dictate the speed are "--rate-limit 50K" and "--sleep-interval 600" notice that I am only fetching another video every 10 min with the sleep-interval set to 600.

youtube-dl.exe --verbose  --username <<YOUREMAIL>> --password <<YOURPASSWORD>> --rate-limit 50K --sleep-interval 600 -o "%(autonumber)s - %(title)s.%(ext)s" "https://app.pluralsight.com/library/courses/bash-shell-scripting"
@bruinebeer
Copy link

@bruinebeer bruinebeer commented Feb 7, 2016

@tfrangio hi, i am using your settings and it works, but it is really really slow.. the 600 sleep-interval seems excessive though? would it hurt to make it wait less? and maybe speed up a lil bit?

@tfrangio
Copy link

@tfrangio tfrangio commented Feb 9, 2016

@bruinebeer I guess you could experiment with the values of "sleep-interval" and "rate-limit" but you will risk having your account shut off. Sleep - interval is specified on seconds so 600 is 10 minutes you could try 300 that would be every 5 min.

@bruinebeer
Copy link

@bruinebeer bruinebeer commented Feb 10, 2016

@tfrangio Thx! Is it possible to continue a download when it gets interrupted?

@chovy
Copy link
Author

@chovy chovy commented Feb 10, 2016

I'm curious about that too. If there is a --resume flag where it would start from the last incomplete file.

@N1t1nA
Copy link

@N1t1nA N1t1nA commented Feb 11, 2016

@mousepotato Thanks!

@chovy
Copy link
Author

@chovy chovy commented Feb 16, 2016

i found i could download 2-3 courses, then I got banned. So be careful.

@chovy
Copy link
Author

@chovy chovy commented Feb 16, 2016

Actually. I think I had not updated to latest version yet, so there was no delay. I had updated and saw it waits 10 minutes between videos. But I had been banned by this time already.

I just emailed them they wanted me to acknowledge that auto-downloading is against their ToS, they re-enabled my account.

@bruinebeer
Copy link

@bruinebeer bruinebeer commented Feb 16, 2016

@chovy With tfrangio's options i don't think pluralsight will notice it. It's takes almost a full day to download a course.

@chovy
Copy link
Author

@chovy chovy commented Feb 16, 2016

is there anyway to resume? i tried doing this but my laptop went to sleep on me

@chovy
Copy link
Author

@chovy chovy commented Feb 17, 2016

I did not pass any options like -c -- is that required? or is it smart enough to just resume from the last incomplete file?

@N1t1nA
Copy link

@N1t1nA N1t1nA commented Feb 20, 2016

hi @xikaos can you please provide the syntax of (safe to download at full speed --sleep-interval of 5 minutes)

@maestrofx
Copy link

@maestrofx maestrofx commented Feb 24, 2016

hi @xikaos, which version do you use to work well?

@maestrofx
Copy link

@maestrofx maestrofx commented Feb 24, 2016

Ok, I am in a new VPS to try this with latest version (2016.02.22). But, I have a weird error [1].
I assumed this latest version not working, so I have downgrade to 2016.02.13. But, the same error come.

Is this issue for youtube-dl or anything else?

Thanks

[1] error

ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 354, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1905, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(_args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(_args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

@maestrofx
Copy link

@maestrofx maestrofx commented Feb 24, 2016

Ok, here are my updates:

  • I've been still playing with some versions to check which one is working for me
  • I've read some issues and comments related to this error and come back later to update
  • no problem with the authentication problem or credentials or another params to the script
  • I can open videos with the player, so no problem with banned status by pluralsight.
  • Also, I've tried this with one of my banned account.

Thanks

@mirfilip
Copy link

@mirfilip mirfilip commented Feb 27, 2016

@xikaos

I wonder how the hell they can make the assumption that you are a script, not a regular person watching the videos for like 5 minutes then going to the next one.

Looking at the explaination they give you when your account gets banned, it's a matter of

high volume of requests that are in the realm of a request every 10-30 seconds for a prolonged period of time

which

this high volume of activity is in violation of our terms of service

So, I would recommend to set a

  • good User Agent
  • sleep-interval to something like ~120 sec
@jasminetracey
Copy link

@jasminetracey jasminetracey commented Apr 15, 2016

Anybody tried with 120s?

@maestrofx
Copy link

@maestrofx maestrofx commented May 16, 2016

@readergirltracey try --sleep-interval 300, it works well. But, your account will be absolutely blocked if you run the command over and over again due to a file that's skipped in the playlist during the process.

Say the playlist has 32 files and the 10th file was skipped. When you run the command again, it's risky to block by Pluralsight's system.

@damianopetrungaro
Copy link

@damianopetrungaro damianopetrungaro commented May 23, 2016

It would be awesome if also the "skills" url could be grabbed

Link sample https://app.pluralsight.com/paths/skill/docker

Of course it need auth =)

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented May 28, 2016

@damianopetrungaro Please open a new issue for that.

@Ebram-Tharwat
Copy link

@Ebram-Tharwat Ebram-Tharwat commented Aug 1, 2016

Can anyone please, share his experience when setting --sleep-interval set to 120s ?
Is 120s enough or it should be more longer?

@damianopetrungaro
Copy link

@damianopetrungaro damianopetrungaro commented Aug 1, 2016

120 is ok.

@Ebram-Tharwat
Copy link

@Ebram-Tharwat Ebram-Tharwat commented Aug 1, 2016

@damianopetrungaro , do you use --rate-limit option to limit your download speed or you use your max speed (if max speed, can you mention it)?
Also, do you download courses sequentially or in parallel?

Thank you in advance.

@damianopetrungaro
Copy link

@damianopetrungaro damianopetrungaro commented Aug 1, 2016

@Ebram-Tharwat i used --sleep-interval only at 120 sequentially.

@yan12125 yan12125 mentioned this issue Sep 9, 2016
0 of 4 tasks complete
@sonhoang0611
Copy link

@sonhoang0611 sonhoang0611 commented Oct 21, 2016

120s works fine for me tks. I used: youtube-dl --username yourname --password yourpassword --verbose --sleep-interval 120s --all-subs "yourlink"

@shekhtman
Copy link

@shekhtman shekhtman commented Mar 12, 2017

Recently I was redirected, after login, to a page asking me to accept/decline their terms of use. Did any one get this?
pluralsight

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Mar 12, 2017

@shekhtman There are quite a few similar reports. You'll need to accept the ToS manually in browsers.

@ytdl-org ytdl-org deleted a comment from mutuadavid93 Aug 3, 2017
@ytdl-org ytdl-org locked and limited conversation to collaborators Aug 3, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.