codecourse.com video downloader.

Overview

Codecourse Downloader

Download codecourse.com videos.

Description

Inspired from iamfreee/laracasts-downloader. Download or update your local catalogue with codecourse.com series.

If you dont want to save your username and password in configuration file just remove username and password settings from configuration file. It will ask your username and password after you run downloader.

Note: There is an offical download tool exists now: https://github.com/codecourse/cli

An account with an active subscription is necessary!

Requirements

  • PHP >= 5.4
  • php-cURL
  • php-xml
  • Composer

Installation

  • Clone this repo to a folder in your machine
  • Change your info in .env.example and rename it to .env
  • Open up .env file change the value of CCUSERNAME to your Code Course Email and CCPASSWORD to your Code Course Password.
  • composer install
  • php codecourse download and you are done!

Building the docker image

  • Clone this repo to a folder in your machine
  • From within the directory run docker build . -t codecourse
  • run docker run --rm -it -v $(PWD)/Downloads:/app/downloads codecourse:latest and you are done! now all the files will be saved inside the downloads directory. Once you run it, it will ask you for your username and password and start downloading the courses.

Downloading series.

if you want to download specific series you can pass comma separated series slugs as an argument.

Normal Example:

For example if you want to download https://www.codecourse.com/lessons/learn-es6

php codecourse download "learn-es6,flexbox-crash-course"

Docker Example:

For example if you want to download https://www.codecourse.com/lessons/learn-es6 using the docker image

docker run --rm -it -v $(PWD)/Downloads:/app/downloads  codecourse:latest download "learn-es6,flexbox-crash-course"
Comments
  • Looking for a similar downloader for mapt videos

    Looking for a similar downloader for mapt videos

    opened by rajkum2 8
  • PHP Notice:  Undefined property: stdClass

    PHP Notice: Undefined property: stdClass

    When I trying to download, terminal show this log: I'm using php 7.1.23 btw

    Logged in successfully, collecting courses. PHP Notice: Undefined property: stdClass::$total in /home/kiddie/Program/ccourse/src/App.php on line 47 PHP Notice: Undefined property: stdClass::$last_page in /home/kiddie/Program/ccourse/src/App.php on line 47 Total lessons found, fetching pages for courses. PHP Notice: Undefined property: stdClass::$last_page in /home/kiddie/Program/ccourse/src/App.php on line 52 PHP Fatal error: Uncaught TypeError: Argument 2 passed to Symfony\Component\Console\Helper\ProgressBar::__construct() must be of the type integer, null given, called in /home/kiddie/Program/ccourse/src/App.php on line 52 and defined in /home/kiddie/Program/ccourse/vendor/symfony/console/Helper/ProgressBar.php:54 Stack trace: #0 /home/kiddie/Program/ccourse/src/App.php(52): Symfony\Component\Console\Helper\ProgressBar->__construct(Object(Symfony\Component\Console\Output\ConsoleOutput), NULL) #1 /home/kiddie/Program/ccourse/src/Commands/DownloadCommand.php(58): App\App->download(Object(Symfony\Component\Console\Output\ConsoleOutput), Array) #2 /home/kiddie/Program/ccourse/vendor/symfony/console/Command/Command.php(251): App\Commands\DownloadCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #3 /home/kiddie/Program/ccourse/vendor/symfony/console/Application.php(886): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvI in /home/kiddie/Program/ccourse/vendor/symfony/console/Helper/ProgressBar.php on line 54

    opened by lunadiotic 5
  • Download fails at middle

    Download fails at middle

    may be internet issue but download always fails . And the huge problem is it downloads incomplete file so no use of running script again and again unless I delete file.

    Can we use aria2c wrapper?

    https://github.com/shiny/php-aria2#install

    Thank You

    opened by shirshak55 5
  • Impossible to create the root directory

    Impossible to create the root directory "/Users/yourname/prefer-clone-path/Downloads". Linux, how to call the path?

    It gives me an error if I try to download all videos.

    [League\Flysystem\Exception]
    Impossible to create the root directory "/Users/yourname/prefer-clone-path/
    Downloads".

    I am on a Linux PC, how do I should call the directory?

    opened by ghost 4
  • Can't download videos

    Can't download videos

    Hi,

    I seem to get an error when downloading videos:

    It simply creates blank folders:

    As far as I can tell, my .env file is correct and I already did composer install so I do not know why this is not working.

    Thanks.

    opened by ipkpjersi 3
  • Curl error

    Curl error

    I'm getting this error but after 2nd try download has started.

    What causes this?

    [GuzzleHttp\Exception\RequestException]
    cURL error 18: transfer closed with outstanding read data remaining (see ht
    tp://curl.haxx.se/libcurl/c/libcurl-errors.html)

    opened by jericopulvera 3
  • invalid argument supplied for foreach()

    invalid argument supplied for foreach()

    @hakanersu

    Image of Yaktocat

    its say

    Undefined offset: 3 in E:\sp\src\Parser.php on line 45 All videos dowloaded for course: 313-Reusable Laravel comments 0/0 [>---------------------------] 0% PHP Notice: Undefined offset: 3 in E:\sp\src\Parser.php on line 45

    Notice: Undefined offset: 3 in E:\sp\src\Parser.php on line 45 All videos dowloaded for course: 312-Cleanly iterating over JavaScript objects

    opened by sagarsolanki3 2
  • Download confirmation for each courses.

    Download confirmation for each courses.

    When we want to download all the courses using "php codecourse download" without specifying course name, we want to download all the courses except few ones. The original command will download all the courses anyway. What about asking user for each course if they want to download the course or not ?

    Initially when we run "php codecourse download" in CMD, this will ask if you want confirmation for each course or not. If you don't need then it will download courses anyway.

    opened by abhishekdeshkar 2
  • Invalid characters should be removed

    Invalid characters should be removed

    Hi,

    In this picture: you can see that a file with ":" is downloaded - this is an invalid character for Windows since it is used for NTFS Alternate Data Streams so it should be removed.

    Also here you can see quotation marks used in folder names, this would be invalid on Windows and would likely fail:

    A list of invalid characters can be found here: https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names/31976060#31976060

    Thanks.

    opened by ipkpjersi 1
  • Adding php-cs-fixer rules

    Adding php-cs-fixer rules

    To have a fixed style rules that everyone can use

    1. Install php-cs-fixer package.
    2. Adding .php_cs rules file.
    3. Adding a run command to composer composer run fix which will auto-format the codes style.
    4. Run the command to auto-format the code.

    Also I've updated composer.json to make sure that we are using at least PHP 7.1.3 and both extensions json & mbstring are available `

    opened by zaherg 1
  • Cannot Download.

    Cannot Download.

    This is what I got:

    $ php codecourse download build-a-url-shortener

    Collecting remote series ... 21/21 [============================] 100% Calculating downloading information.

    [League\Flysystem\Exception]
    Impossible to create the root directory "/Users/yourname/prefer-clone-path/
    Downloads".

    download []

    please help!!

    opened by NisTa24 1
  • Configure Renovate

    Configure Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • composer.json (composer)
    • Dockerfile (dockerfile)

    What to Expect

    With your current configuration, Renovate will create 7 Pull Requests:

    Update dependency symfony/css-selector to ~3.4.0@dev
    • Schedule: ["at any time"]
    • Branch name: renovate/symfony-css-selector-3.x
    • Merge into: master
    • Upgrade symfony/css-selector to ~3.4.0@dev
    Update dependency friendsofphp/php-cs-fixer to v3
    • Schedule: ["at any time"]
    • Branch name: renovate/friendsofphp-php-cs-fixer-3.x
    • Merge into: master
    • Upgrade friendsofphp/php-cs-fixer to ^3.0
    Update dependency league/flysystem to v2
    • Schedule: ["at any time"]
    • Branch name: renovate/league-flysystem-2.x
    • Merge into: master
    • Upgrade league/flysystem to ~2.0
    Update dependency symfony/css-selector to v5
    • Schedule: ["at any time"]
    • Branch name: renovate/symfony-css-selector-5.x
    • Merge into: master
    • Upgrade symfony/css-selector to ~5.3.0@dev
    Update dependency symfony/dom-crawler to v5
    • Schedule: ["at any time"]
    • Branch name: renovate/symfony-dom-crawler-5.x
    • Merge into: master
    • Upgrade symfony/dom-crawler to ~5.0
    Update dependency tightenco/collect to v8
    • Schedule: ["at any time"]
    • Branch name: renovate/tightenco-collect-8.x
    • Merge into: master
    • Upgrade tightenco/collect to ^8.0
    Update dependency vlucas/phpdotenv to v5
    • Schedule: ["at any time"]
    • Branch name: renovate/vlucas-phpdotenv-5.x
    • Merge into: master
    • Upgrade vlucas/phpdotenv to ^5.0

    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Renovate Bot.

    opened by DONSA 0
Owner
Hakan ERSU
Hakan ERSU
Online All in One PHP Video & Audio Downloader From YouTube,Facebook,Twitter,Pinterest,Instagram,MXtakatak,IPL, Tiktok and 1000+ More Sites too

DLhut Contact me If You Find ANy Bug ... PHP Search and Download any Videos from any site. Online All in One Video & Audio Downloader From YouTube,Fac

Vijay Kumar 4 Nov 8, 2021
DLvidHUT Online All in One PHP Video Downloader

DLvidHUT Online All in One PHP Video Downloader API based PHP Video Downloader from YouTube, Instagram, Twitter, Facebook, Tiktok and many more (More Than YouTube DL)

Vijay Kumar 2 Dec 31, 2021
A Simple Facebook Video Downloader using PHP.

Facebook Video Downloader A simple Facebook Video Downloader using PHP. Feature Download Public Video Download Private Video All Quality How to use Co

Tran Viet Hoang 2 Sep 5, 2022
MainWP Child Plugin Auto Downloader.

This plugin checks to see if the MainWP Child plugin is installed and activated; If not, it will download it and install it.

Keith Crain 10 Sep 26, 2022
Thingiverse Zip Downloader

Thingiverse Zip Downloader A scraper to bundle a zip archive with all stl files of one model found on Thingiverse. Since they struggled around a lot w

Thomas 4 Apr 27, 2022
mTube is a simple video sharing platform built with Laravel.

mTube is a simple video sharing platform built with Laravel. Create personal channel share videos online with friends and family.

Nyi Nyi Lwin 115 Dec 28, 2022
This app aims to benchmark several video/live streaming OTT platforms

video-platform-bench This app aims to benchmark several video/live streaming OTT platforms based on Encoding Time performance and provide also a "Time

api.video 9 Dec 17, 2021
🗨️ Nextcloud Talk – chat, video & audio calls for Nextcloud

Nextcloud Talk A video & audio conferencing app for Nextcloud Why is this so awesome? ?? Chat Nextcloud Talk comes with a simple text chat, allowing y

Nextcloud 1.3k Dec 23, 2022
Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi

Browser Administration for Linux-Based Audio/Video-Player like ODROID or Raspberry Pi.

Max2Play 41 Apr 23, 2022
YouTubeClone - Web Projects Build By Laravel Framework v8 & LiveWire it's Small project to upload video Like Youtube

YouTubeClone YouTubeClone - Web Projects Build By Laravel Framework & LiveWire it's Small project to upload video Like Youtube Use Laravel v8.80.0 Ima

Hesham Adel 1 Jan 24, 2022
PHPVibe Open source video CMS / Video Sharing CMS / Youtube Api v3 / Video Embeds

PHPVibe Video CMS Free Video Sharing CMS The modern choice of design inspired by Youtube and a social videos sharing module that may just cut it for y

MediaVibe 71 Dec 18, 2022
All in one Video Downloader - Download videos from facebook twitter youtube tiktok and 1000+ other sites .. made by Vijay Kumar

VKRdownloader Video Downloader by @TherealVKR Vijay Kumar .... Download Video From YouTube , Facebook , Twitter , Instagram , TikTok , And 1000+ Other

Vijay Kumar 35 Dec 29, 2022
Online All in One Video & Audio Downloader From YouTube,Facebook,Twitter,Pinterest,Instagram,MXtakatak,IPL, Tiktok and 1000+ More Sites too

DLhut Contact me If You Find ANy Bug ... PHP Search and Download any Videos from any site. Online All in One Video & Audio Downloader From YouTube,Fac

Vijay Kumar 6 Oct 11, 2021
Online All in One PHP Video & Audio Downloader From YouTube,Facebook,Twitter,Pinterest,Instagram,MXtakatak,IPL, Tiktok and 1000+ More Sites too

DLhut Contact me If You Find ANy Bug ... PHP Search and Download any Videos from any site. Online All in One Video & Audio Downloader From YouTube,Fac

Vijay Kumar 4 Nov 8, 2021
DLvidHUT Online All in One PHP Video Downloader

DLvidHUT Online All in One PHP Video Downloader API based PHP Video Downloader from YouTube, Instagram, Twitter, Facebook, Tiktok and many more (More Than YouTube DL)

Vijay Kumar 2 Dec 31, 2021
A Simple Facebook Video Downloader using PHP.

Facebook Video Downloader A simple Facebook Video Downloader using PHP. Feature Download Public Video Download Private Video All Quality How to use Co

Tran Viet Hoang 2 Sep 5, 2022
phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

phpReel is a free, MIT open-source subscription-based video streaming service that lets you create your platform for distributing video content in the form of movies or series.

null 118 Dec 14, 2022
This script scrapes the HTML from different web pages to get the information from the video and you can use it in your own video player.

XVideos PornHub RedTube API This script scrapes the HTML from different web pages to get the information from the video and you can use it in your own

null 57 Dec 16, 2022
Api.video-wordpress-plugin - The official api.video plugin for WordPress

api.video WordPress Plugin api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managin

api.video 5 Oct 19, 2022
Video Chat application built using Metered Video SDK, with PHP Laravel Backend and JavaScript Front-End

Group Video Chat App with PHP Laravel and JavaScript Powered by Metered Video SDK Overview This application is a highly scalable group video calling a

null 2 Aug 18, 2022