Restaurant Data Scraper
A scraper that pulled 2,154 restaurants — menus, prices, photos and coordinates — off UberEats and handed them back as a spreadsheet.
- Client
- Private client
- Year
- 2021
- Engagement
- Freelance
- Live site
- Internal tool, not public
- Scope
- Automation
- Stack
- Selenium
- Node.js
About the project
A client wanted UberEats' restaurant data for four districts of New Taipei as something they owned: menus, delivery fees, opening hours, coordinates and photographs, in a spreadsheet rather than on somebody's website.
Selenium drives a real Chrome, because the pages render in JavaScript and their class names are generated rather than written — so the crawler reads a class off the DOM at runtime and searches by that instead of by fixed selectors, then keeps clicking "load more" until the list stops growing. It runs district by district: collect the store URLs, then the details, then the menus, then download every image, then merge it all and write the Excel file.
Each district keeps its failures in a file of its own, so a store that broke mid-run can be retried without redoing the six hundred that worked. The finished set came to 2,154 restaurants and about 39 MB of JSON before export.