Awhile ago, I wanted go out to dinner, but wasn't sure which of a few different venues I wanted to go to. They all had high ratings on Yelp, but that didn't tell the entire story. So I built this app to Splunk Yelp reviews, which can tell you:
- Avg ratings/number of ratings over time
- Most 5 recent positive/negative reviews
- Tag cloud of words from positive/negative reviews
In real-life, I've used this app to see what the biggest complaints are about a venue (ordering over the phone), and since they didn't apply to me, decide I still wanted to eat there.
This app uses Splunk Lab, an open-source app I built to effortlessly run Splunk in a Docker container.
- Docker
SPLUNK_START_ARGS=--accept-license bash <(curl -s https://github.com/raw/dmuth/splunk-yelp-reviews/master/go.sh) ./urls.txt
- This will download reviews from Yelp, and then start Splunk. The file
urls.txt
should contain one URL per line, and each URL should be a venue's page on Yelp such as this one. This does not use the API, because the API only returns like 3 reviews, which is silly. Instead, I grab the page contents and use Beautiful Soup to parse the HTML contents.
- This will download reviews from Yelp, and then start Splunk. The file
- Go to https://localhost:8000/, log in with the password you set, and you'll see the Yelp Reviews Dashboard.
- Q: Dashboards show
Search is waiting for input...
- A: You need to select a venue in the dropdown! If no items are in the dropdown, that means no data was ingested. Did you run the command to download some Yelp reviews?
Mostly for my benefit, these are the scripts that I use to make my life easier:
./bin/build.sh
- Build the Python and Splunk Docker containers./bin/push.sh
- Upload the Docker containers to Docker Hub./bin/devel.sh
- Build and run the Splunk Docker container with an interactive shell./bin/stop.sh
- Stop the Splunk container./bin/clean.sh
- Stop Splunk, and remove the data and logs
I'd like to thank Splunk, for having such a kick-ass data analytics platform, and the operational excellence which it embodies.
Also:
- This text to ASCII art generator, for the logo I used in the script.
Splunk is copyright by Splunk. Apps within Splunk Lab are copyright their creators, and made available under the respective license.