Get Courses from coursehunters.net from ak545
get.coursehunters.net.py - Это python-скрипт для загрузки курсов с сайта https://coursehunters.net/.
Скриншоты
Описание
Это python-скрипт для для загрузки курсов с сайта https://coursehunters.net/.
Особенности скрипта:
- Извлекает название курса (это название служит именем под-папки для загрузки контента курса);
- Извлекает описание курса (сохраняет его в файле description.txt);
- Извлекает язык курса (добавляет префикс языка к названию под-папки для загрузки контента курса);
- Скачивает все найденные видео курса;
- Если на сайте https://coursehunters.net/ имеется ссылка на видео файл с просроченным или неверным SSL сертификатом, всё равно пытается скачать такой файл;
- Если имеется дополнительный материал, скачивает и его (за исключением ссылок на репозитории https://github.com/, размещённые в описании курса).
Инсталляция
Для работы скрипта необходим Python версии 3.6 или выше. Разумеется, необходимо сперва установить сам Python. В Linux он обычно уже установлен. Если нет, установите его, например:
Для Linux:
foo@bar:~$ sudo yum install python3
foo@bar:~$ sudo dnf install python3
foo@bar:~$ sudo apt install python3
foo@bar:~$ sudo pacman -S python
Для Apple macOS:
foo@bar:~$ xcode-select --install
Установите brew:
foo@bar:~$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Установите Python:
foo@bar:~$ export PATH=/usr/local/bin:/usr/local/sbin:$PATH
foo@bar:~$ brew install python
Примечание: brew
Для Microsoft Windows:
Для Microsoft Windows скачайте дистрибутив и установите его. Я рекомендую скачивать "Download Windows x86 web-based installer" если у вас 32-х битная ОС и "Download Windows x86-64 web-based installer" если у вас 64-х битная ОС. Во время установки рекомендую отметить все опции (Documentation, pip, tcl/tk and IDLE, Python test suit, py launcher, for all users (requeres elevation)).
Предварительно, возможно понадобится обновить сам pip (установщик модулей Python):
foo@bar:~$ python -m pip install --upgrade pip
Установка зависимостей
# for Linux or macOS
foo@bar:~$ pip3 install colorama --user
foo@bar:~$ pip3 install beautifulsoup4 --user
# for Windows
c:\py> pip install colorama
c:\py> pip install beautifulsoup4
Обновление зависимостей
# for Linux or macOS
foo@bar:~$ pip3 install --upgrade colorama --user
foo@bar:~$ pip3 install --upgrade beautifulsoup4 --user
# for Windows
c:\py> pip install --upgrade colorama
c:\py> pip install --upgrade beautifulsoup4
В зависимости от вашего Pyton окружения, ваши действия будут немного иными, например, возможно, вам потребуется указать ключ --user (для pip) или вместо команд python и pip использовать команды python3 и pip3. Если вы используете виртуальные окружения, то скорее всего, все эти действия вам необходимо будет сделать после входа в соответствующее окружение.
Использование
foo@bar:~$ get.coursehunters.net.py -h
usage: get.coursehunters.net.py [-h][-v][-nb] -u URL [-o DIR]
Get Courses from coursehunters.net A simple python script for download the
courses from coursehunters.net.
Options:
-h, --help Help
-v, --version Display the version number
-u URL, --url URL URL of the Course (default is None)
-o DIR, --out DIR Download dir for the Course (default is None)
-nb, --no-banner Do not print banner (default is False)
Например:
foo@bar:~$ get.coursehunters.net.py -u "https://coursehunters.net/course/prakticheskiy-html" -o "~/courses"
или
foo@bar:~$ python get.coursehunters.net.py -u "https://coursehunters.net/course/prakticheskiy-html"
# or
foo@bar:~$ python3 get.coursehunters.net.py -u "https://coursehunters.net/course/prakticheskiy-html"
или
foo@bar:~$ ./get.coursehunters.net.py -u "https://coursehunters.net/course/prakticheskiy-html" -o "~/courses"
Чтобы запускать скрипт напрямую в Linux или Apple macOS, выполните команду:
# for Linux or macOS
foo@bar:~$ chmod +x /home/user/py/get.coursehunters.net.py
Скорректируйте в первой строке скрипта Шебанг (Unix), например:
Показать путь, где расположен python:
# for Linux
foo@bar:~$ which python
или
# for Linux
foo@bar:~$ which python3
Коррекция пути python в Шебанг:
#!/usr/bin/python
#!/usr/bin/python3
#!/usr/bin/env python
#!/usr/bin/env python3
Переименуйте скрипт:
# for Linux or macOS
foo@bar:~$ mv /home/user/py/get.coursehunters.net.py /home/user/py/get.coursehunters.net
Проверьте запуск скрипта:
# for Linux or macOS
foo@bar:~$ /home/user/py/get.coursehunters.net -h
foo@bar:~$ /home/user/py/./get.coursehunters.net -h
В Microsoft Windows эти шаги можно пропустить:
# for Windows
c:\py> c:\py\get.coursehunters.net -h
Описание опций
-h, --help
Помощь
-v, --version
Показать номер версии
-u URL, --url URL
URL курса
-o DIR, --out DIR
Папка для загрузки курса (название курса и язык курса указывать не надо!)
Если параметр не задан, загрузка происходит в текущую папку ( os.getcwd )!
if NAMESPACE.out: # Если параметр задан # Создание папки для сохранения видео и материалов курса try: Path(NAMESPACE.out).mkdir(parents=True, exist_ok=True) except: print(f'Ошибка создания папки:\n{FLY}{NAMESPACE.out}') print(f'Проверьте корректность задания параметров.') print(f'Не добавляйте в конце параметра обратный слеш "{FLY}\\"') sys.exit(-1) else: # Если параметр не задан NAMESPACE.out = os.getcwd()
-nb, --no-banner
Не печатать баннер (по умолчанию False). Баннер, это информация о среде исполнения скрипта: версия Python, имя компьютера, имя ОС, релиз ОС, версия ОС, архитектура, ЦПУ, сводная таблица предустановленных опций.
Глобальные константы параметров в скрипте
Все параметры находятся внутри скрипта. Не стоит их изменять.
Лицензия
GNU General Public License v3.0
Ограничения
Я, автор этого python-скрипта, написал этот скрипт исключительно для своих нужд. Никаких гарантий не предоставляется. Вы можете использовать этот скрипт свободно, без каких либо отчислений, в любых целях, кроме тех, что намеренно приводят ко злу.
Вы можете вносить любые правки в код скрипта и делать форк этого скрипта, указав в качестве источника вашего вдохновения меня. Я не тщеславен, но хорошее слово и кошке приятно.
Постскриптум
- Работа скрипта проверялась в Microsoft Windows 10, Linux Fedora 30, Linux Ubuntu Descktop 18.10, Linux CentOS 6/7, Linux Manjaro 18.0.2.
- Программный код скрипта не идеален.
- Все рекомендации данные мной для Apple macOS могут содержать в себе неточности. Простите, у меня нет под рукой Apple macBook (но вдруг, кто-то подарит мне его?).
- Да здравствует E = mc² !
- Желаю всем удачи!
Последняя просьба
Пришло время положить конец Facebook. Работа там не является нейтральной с этической точки зрения: каждый день, когда вы идете туда на работу, вы делаете что-то не так. Если у вас есть учетная запись Facebook, удалите ее. Если ты работаешь в Facebook, увольняйся.
И давайте не будем забывать, что Агентство национальной безопасности должно быть уничтожено.
(c) David Fifield
Best regards, ak545 ( ru.mail©ak545² )