Skip to main content

@bitrate/ncs-parser

Парсер сайта NoCopyrightSounds (NCS) для получения данных о треках, артистах и жанрах.

Что парсит

NCS — каталог музыки без авторских прав. Парсер предоставляет API для получения:

  • Треков с метаданными (название, артист, жанр, BPM, настроение)
  • Артистов и их дискографии
  • Жанров и фильтров

Использование

import { NcsParser } from '@bitrate/ncs-parser'

const parser = new NcsParser()

// Получить треки
const tracks = await parser.getTracks({ genre: 'Drum & Bass', limit: 20 })

// Получить артиста
const artist = await parser.getArtist('elektronomia')

// Поиск
const results = await parser.search('sky high')

Структура модулей

packages/ncs-parser/src/
├── modules/
│ ├── tracks/ # Парсинг треков
│ └── artists/ # Парсинг артистов
├── entities/ # Типы Track, Artist
├── helpers/ # HTTP клиент, парсеры HTML
└── main.ts # Точка входа

Использование в API

DownloadResourcesService (сидер) использует парсер для загрузки реальных треков и данных артистов при выполнении pnpm db:seed. Это позволяет наполнить базу правдоподобными данными для разработки вместо полностью случайных.

Ограничения

  • Парсер зависит от структуры сайта NCS — при изменении вёрстки может потребоваться обновление
  • Только для разработки и сидинга, не для production-использования
  • Использование данных NCS регулируется их условиями использования