Open Gamer239059835 opened 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 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
@Gamer239059835 Thanks! I'll start working on theory crafting ASAP.
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.
# 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>
<h1>
<script>
tag@type == 'Course'
a.content-lesson-link
lesson_slug
from a[href]
<a>
tag, get the lesson_title
from span.content-title
lesson_slug
and lesson_title
to create a URL result
InfoExtractor.url_result(https://cgcookie.com/lesson/{lesson_slug}, video_title=lesson_title)
<h2>
tagscript.w-json-ld
to download video
embed_url
from "@id" or "embedUrl"?imag_crop_resized=960x540
for full resolution)embed_url
to get Wistia URL result
InfoExtractor.url_result(embed_url)
If I don't implement this extractor myself, I leave it as an exercise to the reader.
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 Account is optional for paid courses account can be made at https://cgcookie.com/pricing some videos are served through youtube some through wistia