← Back to all projects

Client project

AtomPk Grabber - Product Lists into CSV on Demand

AtomPk Grabber - Product Lists into CSV on Demand

Tech stack

PythonBeautifulSoupCSVAutomationScraping

Services

  • Site structure analysis and field mapping
  • Scraper development in Python with BeautifulSoup
  • CSV export of the collected product list
  • Packaging into a standalone executable for a non-technical user

Deliverables

  • Standalone executable, no Python installation required
  • CSV file with the product list, regenerated on every run
  • Repeatable collection process the partner runs on their own

Challenge

A partner worked from a product list published on a website and needed it as a CSV on a regular basis. The collection was manual, which made it slow, easy to get wrong, and impossible to repeat consistently. The catalogue keeps changing, so this was not a one-off export but a job that comes back every time.

Options Considered

  1. Keep collecting by hand, rejected. It scales with the size of the catalogue and has to be redone from scratch on every update.
  2. A Python script run from the terminal, rejected. It works, but it puts a Python installation and a command line between the user and the CSV.
  3. The same script compiled into a standalone executable: chosen. Same logic, but it runs on a double click on a machine with no development tooling on it.

Decision

Build the grabber in Python with BeautifulSoup for parsing, then ship it as a compiled executable rather than as source. The deciding factor was who runs it: the person who needs the CSV is not the person who would set up a Python environment, so the delivery format mattered as much as the parsing.

AtomPk Grabber - product rows being collected from a web catalogue into a CSV file

Implementation

The grabber requests the catalogue pages, parses the markup with BeautifulSoup, pulls the product fields out of the page structure and writes them into a CSV. Running it again re-walks the site, so a fresh file reflects the current state of the catalogue rather than a patched-up older copy.

Demo

A run of the grabber, from launch to the finished CSV.

Outcome

Collecting the list stopped being a manual task. The partner runs the executable whenever the CSV is needed and gets the same result every time, without a developer in the loop and without touching a terminal.

Open for contract collaboration

I am available for contract-based collaboration. If you have an interesting project idea, schedule a call via Calendly.

Schedule a 30-min call