# Spell Scrapper :scroll: :snake: ## About this repository This repository was built in order to have an "up to date" spells database for [SpellTastic](https://codefirst.iut.uca.fr/git/Spelltastic/Spelltastic), a cross-platform spell manager for Patfinder. ## Data source All data is retrieved from [d20pfsrd](https://www.d20pfsrd.com/) the __#1 Pathfinder Roleplaying Game rules reference site__. All spells can be found at [spells](https://www.d20pfsrd.com/magic/all-spells/). The latest data extracted is available as a YAML file. ## Getting Started ### Prerequisites * Python 3.6+ #### Python libraries * BeatifulSoup4 * Requests * lxml * PyYAML * sqlite3 ### Installing 1. Cloning repository ``` git clone https://github.com/your_username/pathfinder-spell-scraper.git ``` 2. Install the required libraries ``` pip install requests beautifulsoup4 lxml pyyaml ``` ## Usage ### Scrapping 3. You can run __scrap-spells.py__ to scrape the spell information from the website: ``` python scrapping/scrap-spells.py ``` A progress bar should be displayed in your terminal indicating the time left and the number of spells scraped. __The script should takes about 20 minutes to scrap all spells__ 4. This command will generate a file __spells.yaml__ with all spells and their attributes ### Database 5. You can build a __.db__ sqlite3 databse file by running the __spell_db.py__ file: ``` python database/spell-db.py ``` 6. The script will create a __spells.db__ file with a spell table containing all the spell information.