01 / METHODS
FIG. 1 · ROUTE SELECTION
The three ways to get data off a website
There is no single best method, only the right method for the size of the job. Pick wrong and
you either waste a week automating something you could have copied in ten minutes, or you spend
three months copying something a robot should have done overnight.
METHOD 1
Manual copy and paste
Highlight the table, copy, paste into a sheet, clean up the formatting. It sounds beneath
you, and for a single page it usually is not. Zero setup, zero tooling, zero maintenance,
and you can see exactly what you got.
It falls apart the moment the answer is "and now do that for 400 more pages" or "and again
next Monday". Human transcription also introduces errors nobody catches until a number
looks wrong in a board deck.
METHOD 2
Point-and-click tools and extensions
Browser extensions and desktop scrapers let you click the elements you want. Under the hood
they record a CSS selector or XPath for each field, then replay that path across every page
in a list. No code, quick to set up, and genuinely useful.
The catch is that selectors are a snapshot of today's HTML. Rename a class, wrap a price in
a new span, and the extraction silently returns blanks. That is the recurring tax of this
method: you become the maintainer.
METHOD 3
Code, or an AI agent
Python with requests and BeautifulSoup gives you total control: fetch the HTML, parse it,
write rows. Add Playwright or Selenium when the page renders with JavaScript. It scales,
and you own it, but you also own proxies, retries, headers and every broken selector.
An AI scraping agent is the same power without the code. You describe the fields in plain
English, the agent drives a real browser, clicks through pagination, and re-locates fields
after a redesign because it stored your intent rather than a CSS path.
A minimal Python scraper is about fifteen lines: request the URL, hand the HTML to BeautifulSoup,
loop over the product cards, pull the title and price, write a CSV. Beginners get it working in an
afternoon. What nobody tells you is that the fifteen lines are five percent of the work. The other
ninety-five is pagination, rate limits, cookies, headers, JavaScript rendering, retries, and the
Tuesday morning six weeks later when the site ships a redesign and your file is full of nulls.