Giter Club home page Giter Club logo

itchio-godot-scraper's Introduction

itch.io Godot Scraper

GitHub license

A scraper for Godot games hosted on https://itch.io/.

itch.io Godot scraper banner

Table of contents

🌐 API URL

https://itchio-godot-scraper.vercel.app/api

Auto updated every day at 12:00 CET.

πŸ“Š Statistics

Number of games by platform

Graphic - Number of games by platform

Top authors by game count

Graphic - Top authors by game count

πŸš€ Usage

  • /api - Get all the games.
  • /api/games - Get all the games titles.
  • /api/game/title/:title - Get game by title.
  • /api/game/id/:id - Get game by id.
  • /api/authors - Get all the authors.
  • /api/authors/top/:number - Get top authors by game count.
  • /api/author/:author - Get games by author.
  • /api/platforms - Get all the platforms.
  • /api/platforms/:platform - Get games by platform.

πŸ€” How does the scraper find games

To find a specific game, the scraper uses /api/game/title/:title.

What the scrapes does is take :title parameter and split it in words, following some conventions (see below). Then it looks for all the games that have those words in it, and returns the one that have the more words.

For the scraper to be able find the game, the game's title (and particularly the game's build name) needs to follow any of these conventions:

  • It must be camelCase (e.g. thisIsMyGame).
  • It must use dashes or underscores (e.g. this-is-my-game or this_is_my_game).
  • It must use spaces (e.g this is my game).
  • It must use dots (e.g. this.is.my.game).

ℹ️ Troubleshooting

The scraper can't find a game

For the scraper to be able to find a game, the game's build name must follow these conventions:

  • It must have the game's title in it (it may seem obvious but some game builds doesn't match with the game's title at all).
  • It must follow any of the conventions above.

πŸ› οΈ Development

Prerequisites

  • Git installed on your computer.
  • Node.js installed on your computer.

Warning: Don't update the node-fetch package.

Installation

# Clone the repository.
git clone https://github.com/hiulit/itchio-godot-scraper.git
# Go to the repository folder.
cd itchio-godot-scraper
# Install the node modules.
npm install

Usage

  • Run npm run dev to start the development environment.
    This will use the local all.json generated by the update-games.js script.
    Use this environment to develop/test new features.
  • Run npm run update-games to scrape all the Godot games from https://itch.io and store them in all.json.
  • Run npm start to start the production environment.
    This will use the data from https://raw.githubusercontent.com/hiulit/itchio-scraper/master/all.json.

πŸ‘€ Author

  • hiulit

🀝 Contributing

Feel free to:

πŸ™Œ Supporting this project

If you find this project helpful, please consider supporting it through any size donations to help make it better.

Become a patron

Suppor me on Ko-Fi

Buy me a coffee

Donate Paypal

If you can't, consider sharing it with the world...

... or giving it a star.

Thank you very much!

πŸ‘ Credits

Thanks to:

  • Andrea CalabrΓ³ - For the "Godot logo".
  • OpenMoji - For the "magnifying glass" and "spider" emojis.
  • itch.io - For the "itch" logo.

πŸ“ Licenses

itchio-godot-scraper's People

Contributors

dependabot[bot] avatar hiulit avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

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.