Coder Social home page Coder Social logo

nemesisx1 / cine_book_scrapping_api Goto Github PK

View Code? Open in Web Editor NEW
18.0 1.0 10.0 359 KB

A simple api to scrap a popular theater in Africa to get movies and theaters data

Home Page: https://cinebook.elikemmedehou.com/docs

License: MIT License

TypeScript 98.81% Shell 0.22% CSS 0.18% Dockerfile 0.35% EJS 0.44%
hacktoberfest api public-api puppeteer scrapping typescript

cine_book_scrapping_api's Introduction

[Non-Official] Cine Book Web API (scrapper) Running tests workflow Better Stack Badge

This is a non-official scrapper to get movies and theaters data directly from a famous theater's website.

If you want to contribute check this file.

๐Ÿ‘€ Overview

The full docs is located here. I also use the basics folders structures provided by the following command line :

npx ts-express

And the code architecture is mainly inspired by the default Nest.js one.

The core scrapper is made up of this package:

  • Cheerio who helps us parsing the html document.

๐Ÿš€ Deployment

  • With npm

    npm install
    npm run start
  • With Docker

    sudo docker compose up
    

    or

    sudo docker compose up -d
    

Then go to localhost:3213 or (localhost:PORT with PORT defined in the .env file)

Elikem Medehou Twitter Follow

cine_book_scrapping_api's People

Contributors

abstracthunter avatar dependabot[bot] avatar nemesisx1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

cine_book_scrapping_api's Issues

Return a movie only once when getting movies for a theater

Hello All.
Actually, on a get request on /movies/{theatherSlug}/, a movie can be returned multiple times, depending on the number of sessions.
Instead of doing that, we can add a sessions list to the corresponding model, so that each movie is returned only once.

Replacing the node-html-parser by Cheerio

I guess it will be more suitable to move from node-html-parser to Cheerio which more mainstream. Feel free to pick this issues and submit a pull request about that.

Currently there is only the theatersNames() function which is using Cheerio. Thank to @abstractHunter for his pull request about that.

Feat: adding more routes to the /escape-games

It would be really good to add routes to check if a given theater has escape games available and to get available games of a given theater.

All these routes should work under the /escape-games route and support both English and French

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.