Web scraper с выкачиванием видеокурсов с getcourse.ru
996
Web scraper для архитектуры arm32v7 или amd64 с возможностью выкачивания видеокурсов с getcourse.ru
Исходный код и файлы конфигурации опубликованы здесь https://github.com/nqxcode/getcourse-ru-web-scraper.
courses в директории пользователя.Пример:
/home/awesomeuser/courses
courses добавьте необходимые конфигурационные файлы:.env.Пример содержимого файла .env для целевого сайта anatomystudy.ru:
SCRAPPER_BASE_URL=https://anatomystudy.ru
SCRAPPER_TRAINING_CONFIG_DIR=anatomystudy.ru
SCRAPPER_AUTH_COOKIE_NAME=PHPSESSID5
SCRAPPER_AUTH_COOKIE_VALUE=7b20ba0b0ebb95b7728e966daa3b5024
SCRAPPER_AUTH_COOKIE_DOMAIN=.anatomystudy.ru
SCRAPPER_DOWNLOAD_PATH="/home/webscraper/app/download/anatomystudy.ru"
SCRAPPER_PHANTOMJS_BIN=/usr/local/bin/phantomjs
SCRAPPER_PHANTOMJS_MAX_BUFFER=1664
config/config.json с базовыми настройками headless-браузера phantomjs, парсера ссылок на видео и загрузчика видео файлов.Пример содержимого файла конфигурации config/config.json :
{
"scrapper": {
"phantomjs": {
"webpage": {
"settings": {
"userAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36"
},
"viewportSize": {
"width": 1920,
"height": 1080
}
}
},
"parser": {
"patterns": [
"data-master=\"(?<url>[^\"]+)\"",
"href=\"(?<url>(https?\\:)?(//)?www.youtube.com/watch[^\"]+)"
],
"flags": "g"
},
"downloader": {
"cmdTemplate": "yt-dlp -q --ffmpeg-location \"/usr/bin/ffmpeg\" \"{videoUrl}\" -o \"{outVideoPath}\" ",
"outVideo": {
"extension": "mp4"
}
}
}
}
config/trainings/{директория-конфига-для-сайта}/trainings.json c адресами для веб-скрапинга.Здесь {директория-конфига-для-сайта} - значение из параметра SCRAPPER_TRAINING_CONFIG_DIR из файла .env.
Пример файла конфига: config/trainings/anatomystudy.ru/trainings.json:
[
{
"title": "Тренинги. Бонусные курсы №2. Тело человека Мышцы. Голова и шея",
"paths": [
"/teach/control/lesson/view/id/157209236",
"/teach/control/lesson/view/id/157209275"
]
},
{
"title": "Тренинги. Бонусные курсы №2. Тело человека. Мышцы плечевого пояса",
"paths":[
"/teach/control/lesson/view/id/157209372",
"/teach/control/lesson/view/id/157215322"
]
}
]
courses подпапкиlogs - для логов процесса вебскрапинга.download - для скачанных видео-файлов с курсами.courses файл docker-compose.yml c содержимым:version: "3.6"
services:
webscraper:
build:
dockerfile: ./docker/Dockerfile
context: ./
args:
TZ: Europe/Moscow
volumes:
- "./config:/home/webscraper/app/config"
- "./.env:/home/webscraper/app/.env"
- "./logs:/home/webscraper/app/logs"
- "./download:/home/webscraper/app/download"
networks:
- webscraper
mem_limit: 1664m
mem_reservation: 512M
cpus: 0.5
networks:
webscraper:
driver: bridge
download.В папке courses запустите контейнер с помощью команды:
docker-compose up
Сразу после сборки контейнера будет запущен процесс вебскрапинга с отображением логов выполнения процесса.
Content type
Image
Digest
sha256:bb5e007b1…
Size
444.7 MB
Last updated
about 1 year ago
docker pull nqxcode/getcourse-ru-webscraper:1.0.2-arm32v7