Backend API с парсером для сайта hdrezka.ag
Данное программное обеспечение распространяется под лицензией MIT license.
- Установка git submodules
git submodule update --init --recursive
- Скопировать файл с переменными среды
cp .env.example .env
- Перейти в директорию laradock и скопировать файл с переменными среды
cd laradock && cp .env.example .env
- В .env файле выставить значения
DATA_PATH_HOST=../.laradock/data # по желанию указать путь к директории с данными для контейнеров docker COMPOSE_PROJECT_NAME=hdrezka # будет использоваться в качестве префикса для docker контейнеров проекта PHP_VERSION=8.0 MYSQL_VERSION=latest
- Выполнить сборку и развертывание контейнеров nginx, mysql
docker-compose up -d nginx mysql
- Перейти в контейнер
docker-compose exec -u laradock workspace bash
- Установить зависимости composer
composer install
После успешного выполнения всех шагов при переходе в браузере http://localhost/ выведет приветствие lumen фреймворка.
Contact information:
arthur.ragimov@gmail.com
Запрос на поиск
Выполняет запрос поиска на сайт hdrezka, парсит страницу поиска и отдаёт json ответ с результатами поиска
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
body | body | Yes | object |
Code | Description | Schema |
---|---|---|
200 | OK | SearchRequest |
422 | Unprocessable Entity | UnprocessableEntity |
Получение данных запроса поиска по его ID
Возвращает данные запроса поиска на hdrezka
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
searchRequestId | path | ID запроса поиска | Yes | long |
Code | Description | Schema |
---|---|---|
200 | successful operation | SearchRequest |
404 | Not Found |
Запрос на получение видео со страницы фильма
Выполняет парсинг страницы с фильмом и возвращает результат в json
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
body | body | Yes | object |
Code | Description | Schema |
---|---|---|
200 | OK | PageRequest |
422 | Unprocessable Entity | UnprocessableEntity |
Получение данных запроса страница по её ID
Возвращает данные запроса страницы на hdrezka
Name | Located in | Description | Required | Schema |
---|---|---|---|---|
pageRequestId | path | ID запроса страницы | Yes | long |
Code | Description | Schema |
---|---|---|
200 | successful operation | PageRequest |
404 | Not Found |
Name | Type | Description | Required |
---|---|---|---|
UnprocessableEntity | array |
Name | Type | Description | Required |
---|---|---|---|
id | long | No | |
query | string | No | |
payload | SearchRequestPayload | No | |
status | string | Статус запроса на поиск Enum: "created" , "processing" , "done" , "error" |
No |
created_at | string | Example: "2021-10-03T22:00:07.000000Z" |
No |
updated_at | string | Example: "2021-10-03T22:00:07.000000Z" |
No |
Name | Type | Description | Required |
---|---|---|---|
url | string | Ссылка на фильм на сайте hdrezka Example: "https://rezka.ag/films/fantasy/41834-snova-privet-1987.html" |
No |
name | string | Название фильма Example: "Снова привет" |
No |
type | string | Тип ресурса (на данный момент поддерживается только "films") Enum: "films" Example: "films" |
No |
image | string | Ссылка на изображение постера Example: "https://static.hdrezka.ac/i/2021/9/19/r664889dc807fud75o25d.jpg" |
No |
addition | string | Дополнительная информация по фильму Example: "1987, США, Фэнтези" |
No |
Name | Type | Description | Required |
---|---|---|---|
SearchRequestPayload | array |
Name | Type | Description | Required |
---|---|---|---|
search_request_id | long | ID запроса на поиск | No |
url | string | Ссылка на фильм Example: "https://rezka.ag/films/fantasy/41834-snova-privet-1987.html" |
No |
type | string | Тип ресурса (на данный момент поддерживается только "films") Enum: "films" Example: "films" |
No |
payload | PageRequestPayload | No | |
status | string | Статус запроса на парсинг страницы с фильмом | No |
Name | Type | Description | Required |
---|---|---|---|
PageRequestPayload | array |
Name | Type | Description | Required |
---|---|---|---|
resolution | string | Разрешение видео Example: "360p" |
No |
url | string | Прямая ссылка на видео Example: "https://stream.voidboost.cc/3/7/6/9/8/8/ebbad219ee853a9ef1e68cdf9df87381:2021100517:2e179457-952a-4834-a712-0fcaa5358126/bie1b.mp4" |
No |