Project Overview
This project consists of five primary Python scripts that facilitate the scraping, analysis, and visualization of restaurant reviews from Zomato:
-
Zomato Review Scraper (zomato-review-scraper.py
)
- This script retrieves restaurant reviews from the Zomato website.
- It saves the collected reviews as CSV files in the
Reviews
subdirectory.
-
Sentiment Analyzer (sentiment-analyzer.py
)
- This script processes the CSV files from the
Reviews
directory to perform sentiment analysis on the individual reviews.
- It generates two output files for each restaurant:
{restaurant_name}_sentiment.csv
: Contains sentiment scores for each review.
{restaurant_name}_aggregate.csv
: Provides aggregated overall sentiment scores.
- Both output files are saved in the
Sentiments
subdirectory.
-
Dashboard (dashboard.py
)
- This script utilizes the individual sentiment CSV files generated by the Sentiment Analyzer to visualize sentiment data.
- It presents the aggregated sentiment analysis through interactive visualizations, including a bar graph and a word cloud.
- The dashboard allows users to filter and explore the sentiment analysis results in a user-friendly format.
-
Sentiment Visualizer (sentiment_visualizer.py
)
- This script is currently redundant, as its functionalities have been integrated into
dashboard.py
. It can be removed or archived for potential future use.
-
Main (main.py
)
- This script serves as the entry point for the project, orchestrating the execution of the other scripts based on user input.
- Users can select which steps of the workflow to execute, allowing for greater flexibility in the data processing pipeline (e.g., skipping certain steps if data has already been processed).
Workflow Summary
- Data Collection: Run
zomato-review-scraper.py
to collect reviews and save them in the Reviews
directory.
- Sentiment Analysis: Execute
sentiment-analyzer.py
to analyze the reviews and generate sentiment output files in the Sentiments
directory.
- Data Visualization: Launch
dashboard.py
to visualize