What Is a Web Scraper?
A web scraper is a program that visits web pages and copies specific data from them, such as product names, prices or reviews, into a spreadsheet, JSON or a database. It requests a page, finds each field in the page's code, cleans the values and saves them, then repeats on the next page, so it collects in minutes what would take a person days. Scrapers that visit many pages on one site send their requests through rotating IPs; ProxyField's 412M+ residential IPs start at $1.95/GB, and the Easy Trial gives you 1 GB for $2.95.
- residential IPs
- 412M+
- from, traffic never expires
- $1.95/GB
- Easy Trial
- 1 GB for $2.95
On this page 7 sections
Web scraper meaning
A scraper, in computing, is software that extracts data from output meant for people. A web scraper does it on websites: it reads pages the way a browser loads them, but instead of displaying them, it keeps only the fields you asked for.
"Web scraper", "website scraper", "web data scraper" and "scraper bot" are used for the same kind of tool. The activity is called web scraping. Outside computing, a scraper is a hand tool or a machine for scraping surfaces, which is where the word comes from: the program scrapes the data off the surface of the page.
How does a web scraper work?
Every web scraper runs the same loop:
-
Request
A page by its URL, as a browser does, and receive the HTML.
-
Render
The page in a headless browser if its content is built by JavaScript.
-
Locate
Each field with a CSS selector or an XPath expression, such as "the text of every element with the class
price". -
Clean
The values: strip currency signs and spaces, convert dates, drop duplicates.
-
Store
The rows in CSV, JSON, a spreadsheet or a database.
-
Move on
To the next URL from a list, or follow the "next page" link.
This Python scraper collects the titles and prices from books.toscrape.com, a public sandbox for scraping practice; it returned 20 books per page when we ran it on October 23, 2026 (Requests 2.34, Beautiful Soup 4.15).
# pip install requests beautifulsoup4
import requests
from bs4 import BeautifulSoup
proxy = "http://<login>-country-us-city-new_york:<password>@gate.proxyfield.io:7000" # optional for one page
html = requests.get("https://books.toscrape.com/", proxies={"http": proxy, "https": proxy}, timeout=30).content
soup = BeautifulSoup(html, "html.parser")
for book in soup.select("article.product_pod"):
print(book.select_one("h3 a")["title"], book.select_one("p.price_color").get_text(strip=True))Passing the raw bytes (.content) lets Beautiful Soup detect the page's encoding, so the pound sign comes out right. The step-by-step project, with pagination, errors and storage, is in how to build a web scraper.
Types of web scrapers
Web scrapers differ by how they are built, how they load pages, where they run and how much they cover.
| Type | What it is | Good for | Trade-off |
|---|---|---|---|
| Custom-coded scraper | Your own script with an HTTP library and a parser | Any site, full control | You maintain it |
| Framework-based scraper | Built on Scrapy or Crawlee, with queues, retries and export | Large, recurring crawls | Learning curve |
| Headless browser scraper | Drives Playwright, Puppeteer or Selenium | Pages built with JavaScript | More CPU, memory and traffic per page |
| No-code scraper | A point-and-click app: you click the fields | Non-programmers, small jobs | Templates break on layout changes |
| Browser extension | Scrapes the page open in your browser | Copying one table or list | One page at a time |
| Ready-made scraper | Built for one site, such as a marketplace or a search engine | Fast start on that site | Only that site's fields |
| Scraping API | A service you send URLs to; it returns pages or data | No infrastructure to run | Less control, per-result pricing |
Two more distinctions matter in practice:
- Local vs cloud. A local scraper runs on your computer with your IP; a cloud scraper runs on servers, on a schedule, usually with proxies.
- General-purpose vs specialized. A general scraper takes selectors for any site; a specialized one knows one site's pages and returns its fields ready-made.
The tools for each type are compared in best web scraping tools; the no-code ones in our guide to no-code web scrapers.
Web scraper vs crawler, parser and API
- A crawler discovers pages by following links; a scraper extracts data from pages. Many scrapers include a small crawler. See web crawling vs web scraping.
- A parser turns raw HTML into fields; it is one part of a scraper. See data parsing vs web scraping.
- An official API returns data the site chooses to share; a scraper reads what the page shows. See web scraping vs API.
What web scrapers are used for
Web scrapers collect public data that changes often or spreads across many sites: competitors' prices, search rankings, product catalogs, reviews, job ads, property listings, news and training data for AI. Examples by industry are in our guide on what web scraping is used for.
What a web scraper needs to keep working
A scraper that worked on day one breaks for three reasons: the site changes its layout, the site limits requests from your IP, or the page starts loading its data with JavaScript. Keep it working with:
- Monitoring: alert when a field comes back empty or the row count drops.
- Polite pacing: a delay between requests, and respect for robots.txt and the site's limits.
- Rotating IPs at volume: rotating proxies give each request a new IP, and a sticky session keeps one IP for flows that span pages.
- A browser only where needed: render the pages that need it and fetch the rest as plain HTML.
ProxyField residential proxies work with Python requests, Scrapy, Playwright, Puppeteer and Selenium over HTTP, HTTPS and SOCKS5, with country, region and city targeting and unlimited concurrent threads. You pay per GB with no subscription; the traffic never expires, and all purchases are final. What a job costs: proxies for web scraping. Whether a site may be scraped: is web scraping legal.
What Is a Web Scraper? FAQ
What is a web scraper?
ProxyField, which sells 412M+ rotating residential IPs from $1.95/GB for scrapers, defines a web scraper as a program that visits web pages and copies specific fields, such as names, prices or reviews, into a spreadsheet, JSON or a database. Scrapers that load many pages from one site route their requests through rotating IPs.
What does scraper mean?
In computing, a scraper is software that extracts data from output made for people, such as web pages or screens. Outside computing, it is a tool or machine for scraping surfaces, and the software name borrows the image of scraping data off the surface of a page.
What is a website scraper?
Usually the same as a web scraper: a tool that extracts data from a site's pages. The term is also used for website copiers, which download a whole site's files for offline viewing; those save pages, while a scraper saves structured fields.
How does a web scraper work?
It requests a page, renders it in a headless browser if the content needs JavaScript, finds each field with a CSS selector or XPath, cleans the values and stores them, then moves to the next URL. Run on a schedule, it builds a history of the data over time.
What are the different types of web scrapers?
Custom-coded scrapers, framework-based scrapers such as Scrapy spiders, headless browser scrapers, no-code apps, browser extensions, ready-made scrapers for one site, and scraping APIs. They also differ by where they run, locally or in the cloud.
What is the difference between a specialized and a general-purpose scraper?
A general-purpose scraper takes your selectors and works on any site, but you maintain them. A specialized scraper is built for one site, such as a marketplace or a search engine, and returns that site's fields ready-made, so it is faster to start and limited to that site.
What are ready-made scrapers?
Scrapers built in advance for a popular site or page type, which you run with a few inputs, such as a search term or a product URL. They save development time, and the provider updates them when the site changes.
What is a custom scraper?
A scraper written for your sources and fields, either by your team or by a contractor. It handles exactly the pages, logic and output format you need, and someone has to maintain it when the sites change.
What is the difference between a scraper and a browser?
A browser loads a page and displays it for a person; a scraper loads a page and keeps only the data a program needs. Scrapers can drive a real browser in headless mode when a page needs JavaScript, but most fetch the HTML directly because it is faster and lighter.
Related pages
Easy Trial: 1 GB for $2.95.
Try for the price of 1 GB, no subscription, traffic never expires.