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 |