I need a reliable script that will pull both company information and their customer reviews from a set of public websites I will supply. The job is a single, one-time scrape; once the data is gathered and verified, the project is complete. Trust - P-i-l-o-t Site. 500 companies with the info and with all reviews from each company. Info; company_logo_url (string): “Mark Firth Online logo” claimed_profile (bool): true (“Claimed profile” badge) company_name (string): “Mark Firth Online” industry_label (string): “Marketing Consultant” alt_industry_label (string): “Consultant” (appears again in Company details) reviewer_name (string): e.g., “Tariq Korejo” reviewer_country_code (string): e.g., “IE”, “US”, “CA”, “JM”, etc. reviewer_reviews_count (int): e.g., “• 2 reviews” (when shown) review_date (date): e.g., “22 Oct 2025” updated_date (date, optional): “Updated 22 Oct 2025” rating_stars (int 1–5): e.g., 5 rating_text (string): “Rated 5 out of 5 stars” verification_label (enum): Verified, Invited, or none review_title (string): e.g., “Mark’s YouTube Program Exceeded My Expectations” review_body (string/truncated): body + “See more” company_reply_present (bool): e.g., “Company replied” (appears on one) review_interactions The extracted data should be compiled into a clean CSV file with clear column headers. Typical fields will include the company name, location, website, rating, review text, reviewer name (if available), and date. If a site requires pagination, scrolling, or basic anti-bot work-arounds, please handle that gracefully. Python is my preferred language and I’m comfortable with you using Scrapy, BeautifulSoup, Selenium, or a mix if needed—whatever achieves the best balance of speed and accuracy. Just keep external dependencies lean and well-documented. Deliverables: • The fully commented source code and any helper files • A single CSV containing all scraped data • A short README explaining how to run the scraper and regenerate the CSV on my machine I’ll test by running the script myself and checking that every target URL is covered, all required fields are present, and no obvious duplicates appear. Once the CSV passes that check, we’re done.