canvas-scraper
v1.3.2
Published
Web Scraper para la plataforma de educación "Canvas"
Downloads
11
Readme
canvas-scraper
Web Scraper para la plataforma de educación "Canvas"
Motivación
La plataforma "Canvas" es una herramienta de educación utilizada por la Universidad de la Rioja Internacional (https://mexico.unir.net/). La manera en que el material para el estudiante se sube, no es la forma más ergonómica que existe, ya que sólo se puede leer en el navegador o descargando cada tema en formato PDF. El cual no está mal, pero no se puede editar o combinar en un sólo archivo.
En mi opinión personal, es mejor tener el texto con las imágenes en un formato "Markdown" y poder exportar ese texto a cualquier otro formato que sea necesario, como PDF, utilizando Pandoc y LateX
Este repositorio es el sucesor del primer intento.
Alcance
El proyecto tiene como alcance generar una aplicación para la terminal (CLI) que pueda:
- Iniciar sesión en Canvas (Necesario para poder realizar el scraping)
- Convertir el material en HTML a un archivo Markdown
- Automáticamente descargar las imágenes y usarlas en el archivo Markdown.
El formateo post Markdown no forma parte de la especificación y se recomienda utilizar otras herramientas como Pandoc y LateX.
Requisitos
- Node >= 12.13.1
- npm >= 6.12.1
Instalación
npx canvas-scraper parse -u <USUARIO>
# O con instalación global (Sólo instalarlo una vez)
npm i -g canvas-scraper
canvas-scraper parse -u <USUARIO>
Comandos
canvas-scraper <COMANDO> <ARGUMENTOS>
# Ejemplo
canvas-scraper parse -u FOO -p BAR
Parse: Obtiene el contenido de un curso y crea archivos de Markdown para cada tema.
Argumentos:
help
: Muestra la ayuda del comandou
ousername
: Usuario de Canvas.p
opath
(Opcional): Directorio donde se guardará el contenido. Por defecto será el directorio actualt
otopic
(Opcional): Tema a leer, por defecto intentará con todos los temas del curso.password
(Opcional): Contraseña de usuario.
Desarrollo
Ejecución
# Development
npm run build -- --watch
# Production
NODE_ENV=production npm run build
node ./dist/main.js parse