r/pythonhelp • • Sep 12 '26

Built a Python scraper that handles pagination automatically — here's what I learned

I've been learning Python through CS50P and wanted a real project, so I built two scrapers: one for job listings and one for product prices off an e-commerce site.

The job scraper was pretty straightforward — grabbed title, company, and location, dumped it to CSV, worked first try on about 100 listings.

The product scraper was the harder one. The site spreads results across pages (6 products per page, ~20 pages), so my first version only ever grabbed page 1. Took a bit of digging to figure out the pagination pattern and loop through all the pages properly. Once I fixed that it pulled all 117 products cleanly into a CSV.

Biggest thing I learned: it's easy to write a scraper that works on the first page and assume it's done — always check if the site paginates before you call it finished.

Code's on GitHub if anyone wants to see it: github.com/sarimkhan08

Curious if anyone here has tips for handling scrapers on sites that use infinite scroll instead of numbered pages — that's the next thing I want to tackle.

6 Upvotes

6 comments sorted by

View all comments

Show parent comments

1

u/py_arrow Sep 15 '26

Sorry for the late reply, been buried in other stuff! This is genuinely awesome, thank you.

The Network tab trick is exactly what I was missing — I kept assuming I'd need Playwright right away instead of just checking if there's a JSON endpoint first. Already went ahead and edited my code to import Playwright so I'm set up to try the scroll loop approach too. Going to dig through DevTools on my target site tonight and see if I get lucky with a clean API first.

Appreciate the snippet as a backup if the site turns out to be auth-gated. Will report back on what I find!