Borrius-Pokedex-Scraper

A Web Scraper API that extracts and compiles data from the Pokemon Unbound Pokedex website

Downloads
73
Stars
1

Borrius Pokedex Scraper API

Overview

A Web Scraper API that extracts data from the Pokemon Unbound Pokedex website and outputs it to a JSON file.

  • Built with Python and BeautifulSoup, Based on a tutorial from RealPython
  • API Endpoints Managed by FastAPI, Hosted on Google Cloud via a Docker Container
  • Location Data scraped from the Pokmon Unbound Location Guide v2.1.1.1 Excel File via OpenPyxl

Features

  • Contains data for the 503 Borrius Region Pokemon found in the Popular Romhack Pokemon Unbound

  • Unlike the Borrius Dex, this scraper contains the 3 Starter Pokemon (Larvitar, Metang, Gible). They're at the beginning of the Pokedex Data.

  • Data provided includes:

    • Number, Name and Types
    • Sprites
    • Catch Rate
    • Gender Ratio
    • Ability
    • Weight and Height (Metric and Imperial)
    • Stats (Min, Avg Max)
    • Learned Moves (Level, Move-name, Type, Category, Power, Accuracy)
    • TM/HM Moves ( Move-name, Type, Category, Power, Accuracy)

View Sample JSON here!

Instructions

Note: As the project is completed, the Pokedex is unlikely to have changed, so you may want ot download the JSON provided. Otherwise:

USING THE API ENDPOINT

Check out the Endpoints at https://borrius-pokemon-scraper-321133146790.australia-southeast1.run.app/docs

Installing and running manually

  1. Install Python dependancies from requirements.txt
  2. Download and extract the project by cloning this project or running the ZIP
  3. Run python borrius_pokemon_scraper.py in the terminal
  4. Wait for the process to completes (takes around >2 minutes)
  5. Open the borrius_pokedex_data.json file in your favorite text editor and enjoy

TO DO:

  • Scrape all pokemon
  • Extract Sprite Data from Site! (Not yet Implemented)
  • Print retrieved data into JSON
  • Save JSON to a file
  • Implement Error Messages for process
  • Make this available publically/for other projects
  • [] Collate Alolan Forms
  • [] Get this data, and add to dex
  • [/] Handle movelists so they're not collosal lists for each pokemon
  • [] Rewrite docs

FUTURE FEATURES:

  • Download and store images for perpetuity in case i need to self host

  • Get real pokemon national number (extract from url, Recycling!)

  • speed up json generation

  • Implement starter pokemon data from Borrius National Dex (+9 more attached to start)

  • Compile API and publish to NPM

  • Compile Docker Image

  • Publish Docker Image to Dockerhub

  • Publish Docker Image to Google Cloud https://borrius-pokemon-scraper-321133146790.australia-southeast1.run.app/borrius_pokemon

  • [/] Patch in missing data from PokeAPI

    • Line up data for use with Curadex project
    • Add official portraits from PokeApi
Package Rankings
Related Projects