Skip to content

Course downloader for teachable platform written in nodejs using puppeteer and yt-dlp

License

Notifications You must be signed in to change notification settings

muhamed-didovic/tcdown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Downloader and scraper for teachable.com platform

npm Downloads Hits license

Requirement

Install

npm i -g tcdown

without Install

npx tcdown

run locally

  • pull the project
  • install dependencies
  • run next command:
node lib/cli.js

if there are issues with cloudflare run with '-h' or headless option so solve captcha manually

node lib/cli.js -h no

CLI

Usage
    $ tcdown [CourseUrl]

Options
    --all, -a           Get all courses from particular school or provider.
    --login, -l         Your login url with login form.
    --email, -e         Your email.
    --password, -p      Your password.
    --directory, -d     Directory to save.
    --file, -f          Location of the file where are the courses
    --headless, -h      Enable headless (values: 'yes' or 'no'), default value is 'yes'
    --html, -t          Enable html download (values: 'yes' or 'no'), default value is 'yes'
    --screenshot, -s    Enable screenshot (values: 'yes' or 'no'), default value is 'yes'
    --concurrency, -c

Examples
    $ tcdown
    $ tcdown -a
    $ [DEBUG=scraper*] tcdown [url] [-l url...] [-e user@gmail.com] [-p password] [-d dirname] [-f path-to-file] [-h yes/no] [-t yes/no] [-s yes/no] [-c number]

Log and debug

This module uses debug to log events. To enable logs you should use environment variable DEBUG. Next command will log everything from scraper

export DEBUG=scraper*; tcdown

Module has different loggers for levels: scraper:error, scraper:warn, scraper:info, scraper:debug, scraper:log. Please read debug documentation to find how to include/exclude specific loggers.

License

MIT

Need help

If you require assistance with an existing scraper/crawler, need to develop a new one, or have any other programming-related inquiries, please don't hesitate to reach out to me: muhamed.didovic@gmail.com