Inspiration
This came from a desire for more useful and personalized metrics that review aggregates can offer besides just showing us the aggregate score. We wanted to know how divisive a given piece of media was and also wanted to know what kind of critics had similar tastes to us
What it does
It scrapes metacritic for a list of every album that has >7 reviews, and it finds the standard deviation of the review scores for a given album and also allows the user to add their own reviews via the Django admin panel, and there is another endpoint that displays which critics are the most similar to the user
How we built it
We built it through a Django webapp, there's an endpoint that scrapes Metacritic for the data, one endpoint that displays the controversiality index (the standard deviation) and the similarity index to the user. The scraper uses Beautiful-Soup to obtain the data from metacritic
Challenges we ran into
The webscraping turned out to be far more challenging than we expected given the sheer quantity of data we were looking at. Metacritic also got mad at the quantity of the requests we sent them so we had to break down our scraping process into segmented chunks. Because of this, we limited our scope to just music albums even though metacritic also features other forms of media like video games and movies. Our group also had trouble with the UI design and front end portion of the application
Accomplishments that we're proud of
Our entire group has almost zero cumulative experience with webscraping, so we're fairly happy with the webscraper we created even if it's not anywhere close to perfect given that it handles quite a large quantity of data We're also proud that we managed to
What we learned
- Webscraping
- Time management
- Django
- Web development ## What's next for Enhanced Review Metrics We want to expand it so that it can support other forms of media like video games, movies, and tv shows We also have a lot of work to do on the frontend. Preferably by exposing the data with the Django rest framework and using react as the frontend. We also want to expand the user system so that there's a login system.
Log in or sign up for Devpost to join the conversation.