Skip to content

uetchy/niconico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

niconico

npm version npm: total downloads Build Status Coverage Status docs

niconico API library for Node.JS, armed with Promises.

Usage

npm install niconico
const { niconico, Nicovideo } = require('niconico')

const baseDir = './videos'

async function downloadVideo(videoID) {
  try {
    const session = await niconico.login(
      process.env.EMAIL,
      process.env.PASSWORD
    )
    const client = new Nicovideo(session)
    const filePath = await client.download(videoID, baseDir)

    console.log('Downloaded:', filePath)
  } catch (err) {
    console.log('Error:', err)
  }
}

downloadVideo('sm28222588')

API

API Documents

The APIs return Promises. You can chain them with then and catch.

niconico.login(email, password)

Returns a session cookie.

email

Type: string

password

Type: string

new Nicovideo([session])

Returns a nicovideo agent. If a session is given, the agent will be authenticated and act as a signed user.

session

a session cookie given by niconico.login.

nicovideo.download(videoID, outputDir)

Download a video to local dir.

videoID

Type: string

outputDir

Type: string

nicovideo.watch(videoID)

Fetch a /watch/ page and returns its metadata.

videoID

Type: string

nicovideo.thumbinfo(videoID)

Returns thumbinfo. This doesn't requires session.

videoID

Type: string

nicovideo.httpExport(url, outputPath)

Download the video from url to outputPath.

url

Type: string

outputPath

Type: string

nicovideo.stream(videoID)

Return stream.Readable to download the video.

videoID

Type: string

Contributing

See Contribution Guide for more information.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


uetchy

💻

Yuta Hiroto

💻

m77so

💻

This project follows the all-contributors specification. Contributions of any kind welcome!