ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.7k stars 9.97k forks source link

Site Support Request: cgcookie.com #29280

Open Gamer239059835 opened 3 years ago

Gamer239059835 commented 3 years ago

Checklist

Example URLs

Youtube Host introvid: https://cgcookie.com/course/creating-clouds-with-blender-2-8-and-eevee

Description

doesnt work with single video url or playlist url Video corresponnding to "single video" can be found from developer console and downloaded with youtube-dl image Account is optional for paid courses account can be made at https://cgcookie.com/pricing some videos are served through youtube some through wistia

SuperSonicHub1 commented 3 years ago

@Gamer239059835 This extractor should be pretty easy to make through making use of InfoExtractor.url_result. Do you have any examples of videos making use of YouTube embeds?

Gamer239059835 commented 3 years ago

@Gamer239059835 This extractor should be pretty easy to make through making use of InfoExtractor.url_result. Do you have any examples of videos making use of YouTube embeds?

Here is an example

Pagelink: https://cgcookie.com/course/creating-clouds-with-blender-2-8-and-eevee

Videolink: https://www.youtube.com/embed/pdbkRjzV17I?&wmode=opaque

SuperSonicHub1 commented 3 years ago

@Gamer239059835 Thanks! I'll start working on theory crafting ASAP.

SuperSonicHub1 commented 3 years ago

How to Crack CGCookie.com (partially)

Disclaimer

This is only going to focus on downloading courses and lessons hosted on the site through Wistia. This will not enable one to download course trailers hosted on YouTube. If you want to do that, just use youtube-dl's generic extractor through the --force-generic-extractor option:

youtube-dl --force-generic-extractor --simulate 'https://cgcookie.com/course/creating-clouds-with-blender-2-8-and-eevee'
[generic] creating-clouds-with-blender-2-8-and-eevee: Requesting header
WARNING: Forcing on generic information extractor.
[generic] creating-clouds-with-blender-2-8-and-eevee: Downloading webpage
[generic] creating-clouds-with-blender-2-8-and-eevee: Extracting information
[download] Downloading playlist: Creating Clouds with Blender 2.8 and Eevee
[generic] playlist Creating Clouds with Blender 2.8 and Eevee: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[youtube] pdbkRjzV17I: Downloading webpage
[download] Finished downloading playlist: Creating Clouds with Blender 2.8 and Eevee

I also don't have an account for this site nor am I willing to fork out a minimum of $27, so someone else will need to figure out how to download paywalled content through youtube-dl.

Finally, in the meantime, the generic extractor gets a surprisingly good amount of information out of a lesson page (youtube-dl --dump-json 'https://cgcookie.com/lesson/modeling-the-primary-structures'), so you should use that while you wait for this site to be implemented.

URL Parsing

# Course (Playlist)
https://cgcookie.com/course/create-realistic-industrial-environments-with-blender-and-eevee
https://cgcookie.com/course/<slug>

# Lesson (Video)
https://cgcookie.com/lesson/modeling-the-primary-structures
https://cgcookie.com/lesson/<slug>

Course

Lesson

If I don't implement this extractor myself, I leave it as an exercise to the reader.