Projects/open edx
Open edX is the open-source (AGPL) platform software for MOOC developed by EdX.
Lots of websites are powered by Open edx, especially edx and fun (France Université Numérique).
A list is available here : https://github.com/edx/edx-platform/wiki/Sites-powered-by-Open-edX
Course instructor choose their license for content.
Using API
You Must register with the Open edX server with Oauth 2.0 Documentation : https://edx.readthedocs.io/projects/edx-platform-api/en/latest/courses/index.html
it's use Xblocks and we can get them with the API. List of Xblocks is available here : https://openedx.atlassian.net/wiki/display/COMM/XBlocks+Directory
VM of basic openedx is available at bitnami (Require at least 3Go of RAM): [1] with exemple course. VM of Fun version of openedx is here : [2]
Exemple using API
#!/usr/bin/env python3
#List course of fun
import requests
import json
url = "https://www.fun-mooc.fr/api/courses/v1/courses/"
data={"pagination" : { "next" :url } }
while data["pagination"]["next"] != None:
r = requests.get(data["pagination"]["next"])
data=r.json()
for course in data["results"]:
print(course["course_id"] , " : ", course["name"])