Django приложение для скачивания, извлечения и управления учебными курсами memrise dashboard
В первую очередь проект создан по тому что сервис memrise, на момент написания приложения, не предоставляет API для работы с данными курсов. А именно не возможно скачать имеющиеся курсы, слова, уровни в удобочитаемом для пользователя виде. По этому был создан данный проект который позволит скачать все пользовательские данные (слова, курсы, уровни) в локальное хранилище и далее конвертировать эти данные в разные форматы CSV, PDF, JSON.
Так же приложение сможет делать поиск по всем словам, что позволит посмотреть наличие какого-то слова в БД или же быстро посмотреть значение слов.
- Обязательная регистрация в Memrise
- Получение параметров cookies:
- sessionid_2
- csrftoken
- Перейти в директорию проекта "django-memrise-scraper"
- Создать виртуальное окружение c использованием pipenv
pipenv --three --python 3.8
- Установить все зависимости
pipenv install
- Если запуск планируется из терминала, то создать и экспортировать переменные окружения
export SESSION_ID=значение из cookies.sessionid_2
export CSRF_TOKEN=значение из cookies.csrftoken
- Запуск сервиса
python manage.py runserver
- Обязательная регистрация в Memrise
- Получение параметров cookies:
- sessionid_2
- csrftoken
- Скопировать файл
config/envs/django_web.template.env
и переименовать его вconfig/envs/stage_env/django_web.env
- Задать значения переменным окружения
- SESSION_ID=значение из cookies.sessionid_2
- CSRF_TOKEN=значение из cookies.csrftoken
- DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME
- Скопировать файл
config/envs/postgres.template.env
и переименовать его вconfig/envs/stage_env/postgres.env
- Задать значения переменным окружения
- POSTGRES_HOST=
- POSTGRES_PORT=
- POSTGRES_USER=
- POSTGRES_PASSWORD=
- POSTGRES_DB=
- Собрать и запустить сервисы
docker-compose up -d
- SESSION_ID [STR (required)]: значение из cookies.sessionid_2
- CSRF_TOKEN [STR (required)]: значение из cookies.csrftoken
- STORAGE [STR (optional)]: путь до хранения логов. В случае если не был передан параметр, будет
установлено значение по умолчанию
django-memrise-scraper/resourses/logs
- update/
Пример запроса
GET http://127.0.0.1:8000/update/
/
Accept: */*
Cache-Control: no-cache
Content-Type: application/json