Pulse Coding Assignment
Objective:
Develop a script to scrape product reviews from G2 and Capterra for a specific company and
time period. Your script should be able to accept a company name, start date, end date, and
source as inputs, and output a JSON file containing the reviews. For bonus points, identify and
integrate a third source for SaaS app reviews.
Task Details:
1. Script Requirements:
○ Input Parameters:
■ Company Name: The name of the company whose product reviews are
to be scraped.
■ Start Date: The beginning of the time period for the reviews.
■ End Date: The end of the time period for the reviews.
■ Source: The source of the reviews, which can be either G2 or Capterra.
○ Output:
■ The script should output a JSON file containing an array of reviews. Each
review should include:
■ title: The title of the review.
■ description/review: The text content of the review.
■ date: The date the review was posted.
■ Additional information: Any other relevant details associated with
the review (e.g., reviewer name, rating).
2. Script Functionality:
○ The script should be able to:
■ Scrape reviews from the specified source based on the company name
and time period.
■ Parse the reviews and format them into the required JSON structure.
■ Handle pagination if necessary to collect all reviews within the specified
time period.
■ Validate and handle errors gracefully (e.g., invalid company names,
out-of-range dates).
3. Bonus Points:
○ Identify a third source that specializes in SaaS app reviews and integrate it into
your script.
○ Ensure the script can handle this third source with the same functionality as for
G2 and Capterra.
4. Evaluation Criteria:
○ Time: Efficient execution of the script.
○ Code Quality: Clean, well-commented, and maintainable code.
○ Novelty: Originality in approach or techniques used.
○ Output: Accuracy and completeness of the output data.
Submission Instructions:
Please submit your code along with any necessary instructions for running it, a sample JSON
output, and your README file. If you integrated a third source for bonus points, include details
on how to use it in your README.
Deadline:
Submit your assignment within 48 hours.
Good luck, and we look forward to reviewing your solution!