A tool for tracking and analyzing prices of Pokemon collectibles from PriceCharting.com.
This tool allows you to:
- Scrape sales data for Pokemon collectibles (cards, booster boxes, etc.) from PriceCharting
- Store the data in JSON and CSV formats
- Generate statistical analysis and reports on pricing trends
- Node.js (v14 or higher)
- npm
# Clone the repository
git clone https://github.com/gateak/pokemon-tracer.git
cd pokemon-tracer
# Install dependencies
npm installnode collectible-price-tracker.jsThis will run the tracker with default settings (Pokemon Astral Radiance Booster Box).
node collectible-price-tracker.js [options]
Options:
--type, -t <type> Specify the collectible type to track
--analyze-only, -a Only analyze existing data without scraping new data
--help, -h Show help information# Track prices for Pokemon Astral Radiance Booster Box (default)
node collectible-price-tracker.js
# Track a different collectible (if configured)
node collectible-price-tracker.js --type pokemon-silver-tempest
# Analyze existing data without scraping new data
node collectible-price-tracker.js --analyze-onlyAll data is stored in the data/ directory, organized by collectible type:
data/
pokemon-astral-radiance/
sales-data.json # Raw sales data in JSON format
sales-data.csv # Raw sales data in CSV format
summary.json # Statistical summary
analysis.md # Markdown report with analysis
To track a new Pokemon collectible, add a new configuration to the collectibleConfigs object in collectible-price-tracker.js:
const collectibleConfigs = {
'pokemon-astral-radiance': createPokemonConfig('astral-radiance', 'booster-box'),
'pokemon-silver-tempest': createPokemonConfig('silver-tempest', 'booster-box'),
// Add more configurations here
};The data is stored in standard JSON and CSV formats, which can be easily loaded into Python using libraries like pandas:
import pandas as pd
import json
# Load CSV data
df = pd.read_csv('data/pokemon-astral-radiance/sales-data.csv')
# Load JSON data
with open('data/pokemon-astral-radiance/sales-data.json') as f:
data = json.load(f)
# Load summary statistics
with open('data/pokemon-astral-radiance/summary.json') as f:
summary = json.load(f)The data is well-structured for various analyses:
- Time series analysis of price trends
- Price correlation with card/set attributes
- Market seasonality analysis
- Predictive modeling for future prices
- Visualization dashboards (using matplotlib, seaborn, or plotly)
For Python developers looking to enhance this tool:
- Create a Python version using libraries like BeautifulSoup or Selenium
- Implement advanced statistical analysis using scipy or statsmodels
- Add machine learning models to predict price trends
- Create interactive dashboards with Dash or Streamlit
- Implement database storage (SQLite, PostgreSQL) for better data management
- Add automated data refresh schedules using tools like Airflow
- Expand to track more collectible types and markets
collectible-price-tracker.js- Main script for scraping and analyzing datapackage.json- Project configuration and dependenciesdata/- Directory containing all scraped data and analyses