All projects

Technical Report · Web & Data Applications

Amazon Review WordCloud Generator

Scrapes Amazon product reviews by rating with Selenium and converts the collected review text into visual word clouds.

AUTHOR  Gaurav Verma CATEGORY  Web & Data Applications SOURCE  https://github.com/GAURAV-321/Amazon-Review-WordCloud-Generator DATE  Mar 2021 STATUS  published
View Source Python Selenium Amazon Reviews Data Collection Text Analysis WordCloud

Abstract

A Python script that drives a Chrome session through Amazon review pages, extracts text for a chosen star rating, and renders the combined corpus as a word-cloud PNG. The report focuses on the handoff between browser automation and an independent visualization step, and on what the rating filter adds to a single aggregate cloud.

1. What This Is

A small, reproducible pipeline that navigates Amazon product review pages with Selenium, pulls review text for a selected rating (one through five stars or all), and feeds the assembled corpus into the WordCloud library to produce a PNG. The rating filter is the main analytical lever: it lets you compare the vocabulary of one-star complaints against five-star praise rather than reading a single blended cloud.

2. How It Works

# Stage Input Tool Output
01 Target selection Product URL, rating filter User input Session configuration
02 Page navigation Review page URL Selenium + Chrome WebDriver Rendered DOM
03 Text extraction Rendered DOM Selenium element queries Raw review strings
04 Corpus assembly Raw strings Python string ops Single combined text
05 Cloud generation Combined text WordCloud library wordCloud.png

3. Implementation Notes

3.1 Selenium over static requests

Amazon review pages render dynamically; a plain HTTP GET does not return the review body. Selenium drives a real Chrome instance so the DOM is fully populated before extraction runs.

3.2 Rating-based filtering

The script accepts a 1–5 star parameter or "all" and navigates to the corresponding filtered review page. This keeps the visualization meaningful: complaint vocabulary in one-star reviews is visually distinct from recommendation language in five-star reviews.

3.3 Separated visualization step

WordCloud generation is a standalone call on the assembled corpus. It carries no Selenium state, so the same text can be re-rendered with different stopwords, font sizes, or palettes without re-scraping.

4. Constraints

  • Anti-bot exposure

    A standard Chrome profile with no proxy rotation or headless-stealth measures will hit CAPTCHAs or 403s on repeated runs against the same product.

  • Single-product scope

    The script targets one product per invocation. There is no batch mode, queue, or multi-ASIN loop.

  • No persistence

    Collected text lives in memory only. A crash mid-run discards previously extracted pages; there is no checkpoint or resume.

  • Image-only output

    The result is a single PNG. The underlying word-frequency table is not exported, so downstream NLP or sentiment scoring must re-derive it.

5. Next

  1. a. Add a JSON or SQLite persistence step so partial runs can resume and the corpus is reusable across visualization experiments.
  2. b. Introduce a rate-limit with exponential backoff and a simple retry loop to reduce CAPTCHA and 403 encounters.
  3. c. Export the word-frequency table alongside the PNG so downstream sentiment or topic-modeling steps can consume the same corpus without re-scraping.

— end of report —