JSPM

  • Created
  • Published
  • Downloads 462
  • Score
    100M100P100Q89126F
  • License MIT

Simple NPM library for scraping CSFD

Package Exports

  • node-csfd-api

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-csfd-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

npm version Package License Build & Publish codecov

CSFD API

Tiny NPM library for scraping CSFD [work in progress]

  • Browser + Node.js (SSR)
  • TypeScript

Install

via yarn

yarn add node-csfd-api

via npm

npm install node-csfd-api

Usage

Movie

Get info about this movie

import { csfd } from 'node-csfd-api';

csfd.movie('535121').then((movie) => console.log(movie));

Results

{
  title: 'Na špatné straně',
  year: '2018',
  descriptions: [
    'Otupělý policejní veterán Ridgeman (Mel Gibson)...',
    'Brett je policajt tesne ...'
  ],
  genres: [ 'Krimi', 'Drama', 'Thriller' ],
  type: 'film',
  url: 'https://www.csfd.cz/film/535121',
  origins: [ 'USA', 'Kanada' ],
  overallRating: 3,
  otherTitles: [
    { country: 'USA', title: 'Dragged Across Concrete' },
    { country: 'Kanada', title: 'Dragged Across Concrete' },
    { country: 'Slovensko', title: 'Na zlej strane' },
    { country: 'Austrálie', title: 'Dragged Across Concrete' },
    { country: 'Velká Británie', title: 'Dragged Across Concrete' }
  ],
  poster: '//img.csfd.cz/files/images/film/posters/163/579/163579352_bf8737.jpg?h180',
  directors: [
    {
      name: 'S. Craig Zahler',
      url: 'https://www.csfd.cz/tvurce/87470-s-craig-zahler/'
    }
  ],
  actors: [
    {
      name: 'Mel Gibson',
      url: 'https://www.csfd.cz/tvurce/1-mel-gibson/'
    },
    ...
  ],
  basedOn: [],
  writers: [
    {
      name: 'S. Craig Zahler',
      url: 'https://www.csfd.cz/tvurce/87470-s-craig-zahler/'
    }
  ],
  music: [
    {
      name: 'Jeff Herriott',
      url: 'https://www.csfd.cz/tvurce/203209-jeff-herriott/'
    },
    ...
  ],
  producers: [
    {
      name: 'Sefton Fincham',
      url: 'https://www.csfd.cz/tvurce/320006-sefton-fincham/'
    },
    ...
  ]
}

User Ratings

Get all of my ratings

import { csfd } from 'node-csfd-api';

csfd.userRatings('912-bart').then((ratings) => console.log(ratings));

Results

[
  {
    title: 'David Attenborough: Život na naší planetě',
    year: 2020,
    type: 'film',
    rating: 5,
    url: 'https://www.csfd.cz/film/812944-david-attenborough-zivot-na-nasi-planete/',
    date: '01.11.2020',
    overallRating: 1
  },
  {
    title: 'Coronation',
    year: 2020,
    type: 'film',
    rating: 4,
    url: 'https://www.csfd.cz/film/912552-coronation/',
    date: '28.10.2020',
    overallRating: 1
  }
];

More

Work in progress...

Development

Developing and debugging library

yarn start

Run demo locally

You can find and modify it in ./demo.ts file

yarn demo

Contribution

I welcome you to customize this according to your needs ;)

Pull requests for any improvements would be great!

Donation

If this project have helped you save time please consider making a donation for some 🍺 or 🍵 ;)

Privacy Policy

I DO NOT STORE ANY DATA. PERIOD.

I physically can't. I have nowhere to store it. I don't even have a server database to store it. So even if Justin Bieber asked nicely to see your data, I wouldn't have anything to show him.

That's why, with CSFD Api, what happens on your device stays on your device till disappear.

License

Copyright © 2020 Lukas Bartak

Proudly powered by nature 🗻, wind 💨, tea 🍵 and beer 🍺 ;)

All contents are licensed under the MIT license.