progarchivespy exposes a Python API for interacting with ProgArchives' data through web scraping. It abstracts HTML parsing, providing high-level services to retrieve structured data as Python objects.
- Fetch top albums: Retrieve top progressive rock albums by subgenre, year, or popularity.
- Scrape detailed album and artist information: Access names, genres, ratings, and other metadata.
- Serializable models: Convert scraped data into structured Python objects.
from progarchivespy.client import ProgArchivesClient
from progarchives.common import Subgenre
# Initialize the client
client = ProgArchivesClient()
# Fetch top Symphonic Prog albums
top_albums = client.top_albums.query(subgenre=Subgenre.SYMPHONIC_PROG)
# Print album information
for album in top_albums:
print(album.asdict) # Serialize to a dictionary- Top Albums: Fetch top albums by subgenre, year, or popularity.
- Artist Pages: Retrieve detailed artist information, including discography and biography.
- Subgenre Pages: Extract data about subgenres, including associated artists and albums.
- Album Pages: Access album details such as tracklists, release years, and reviews.
- No official API; relies on scraping.
- Subject to rate limits.