Skip to content

hyunchel/melon-chart-api

Repository files navigation

Melon Chart API

Build Status

Scrapes Melon Music chart data from Melon Music website.

Install

$ npm install --save melon-chart-api

Usage

const Melon = require('melon-chart-api');
Melon('04/24/2017', { cutLine: 5 }).daily().then(chartData => {
  console.log(chartData);
})

As of 04/24/2017, the code above results in the following:

{
    "data": [
        {
            "rank": "1",
            "title": "팔레트 (Feat. G-DRAGON)",
            "artist": "아이유",
            "album": "Palette"
        },
        {
            "rank": "2",
            "title": "사랑이 잘 (With 오혁)",
            "artist": "아이유",
            "album": "사랑이 잘"
        },
        {
            "rank": "3",
            "title": "이런 엔딩",
            "artist": "아이유",
            "album": "Palette"
        },
        {
            "rank": "4",
            "title": "이 지금",
            "artist": "아이유",
            "album": "Palette"
        },
        {
            "rank": "5",
            "title": "잼잼",
            "artist": "아이유",
            "album": "Palette"
        }
    ],
    "dates": {
        "start": "20170424",
        "end": "20170424"
    }
}

feat. 갓이유

API

Melon(date, [options])

date

Type: number, string, object

Any object that can be parsed using date-fns/parse function.

options

cutLine

Type: number

Default: 5

realtime

Type: boolean

Default: false

methods

All methods return a promise that results to Melon chart rankings in JSON.

Melon.realtime()

Returns realtime chart. This method will default to the latest "realtime" chart rankings. With realtime flag, the given date will be treated as "realtime", and will expect "hour" to be populated in the date. If "hour" is not populated, it defaults to midnight(00).

Melon.daily()

Returns daily chart. This method will ignore the given date, as Melon Music does not provide previous daily charts. Regardless of the date, this method will always return the most recent daily chart.

Melon.weekly()

Returns weekly chart for the given date. The coresponding week will be computed and fetch the correct chart accordingly.

Melon.monthly()

Returns monthly chart for the given date.