Podcast-Spotify-Matcher is a Python-based automation tool that:
β
Scrapes Apple Podcasts from a MySQL database.
β
Searches for matching podcasts on Spotify using the Spotify API.
β
Uses fuzzy string matching to improve accuracy.
β
Stores the matched Spotify podcast links in the database.
β
Supports batch processing for efficiency.
β
Batch Processing: Handles multiple podcast records at once.
β
Spotify API Key Rotation: Prevents rate limits by switching credentials dynamically.
β
Logging & Debugging: Records errors, missing data, and matches for analysis.
β
Fuzzy Matching Algorithms: Ensures more accurate matches based on podcast titles.
β
Database Integration: Stores matched data in a MySQL database.
git clone https://github.com/DataDiggerJay/Podcast-Spotify-Matcher.git
cd Podcast-Spotify-Matcherpip install -r requirements.txt1οΈβ£ Go to the Spotify Developer Portal:
π https://developer.spotify.com/dashboard/
2οΈβ£ Log in with your Spotify account or create a new one.
1οΈβ£ Click "Create an App" on the Developer Dashboard.
2οΈβ£ Enter:
- App Name: (e.g., PodcastMatcher)
- App Description: (e.g., "A tool to match Apple Podcasts with Spotify.")
3οΈβ£ Click Create and accept the terms.
1οΈβ£ Once your app is created, go to the "Settings" tab.
2οΈβ£ Find your Client ID and Client Secret.
3οΈβ£ Copy both values and use them in your config.json file.
Create a config.json file inside your project directory and add the following:
{
"spotify": [
{
"client_id": "YOUR_SPOTIFY_CLIENT_ID",
"client_secret": "YOUR_SPOTIFY_CLIENT_SECRET"
}
],
"database": {
"host": "YOUR_DATABASE_HOST",
"user": "YOUR_DATABASE_USER",
"password": "YOUR_DATABASE_PASSWORD",
"database": "YOUR_DATABASE_NAME"
},
"logging": {
"log_file": "script.log",
"log_level": "INFO"
}
}π΄ Do NOT share your config.json file publicly!
π΄ Add config.json to .gitignore to prevent leaks!
Once youβve set up everything, run:
python script.pyThe script will:
β
Fetch podcasts from Apple Podcasts database.
β
Search for matching podcasts on Spotify.
β
Store the results in MySQL.
requests
pymysql
logging
rapidfuzzTo install:
pip install -r requirements.txtPodcast-Spotify-Matcher/
βββ .gitignore # Ignore sensitive files (config.json, logs)
βββ README.md # Documentation (this file)
βββ script.py # Main script
βββ config.json # Configuration (DO NOT SHARE!)
βββ requirements.txt # Dependencies
β
Multi-threading for faster processing.
β
Web interface to monitor processed podcasts.
β
OAuth-based authentication for better security.
This project is open-source under the MIT License.
π GitHub: Your GitHub Profile
π Happy Coding! π§π₯