What is Web Scraping?
Web scraping is the automated collection of data from websites. A program requests pages over HTTP, extracts fields from the HTML or JSON that comes back, and writes them as structured records. Scale ranges from one script polling a page to distributed crawlers that rotate proxies and render pages in a browser.
A scraper is a loop of three stages: fetch, parse, store. The fetch is usually a plain HTTP client such as requests, httpx or curl, which is fast and cheap because it downloads markup and nothing else. Parsing pulls fields out with CSS selectors, XPath or a JSON path. Before writing selectors against rendered HTML, open the network tab and look for the internal JSON endpoint the page itself calls. It is frequently reachable without authentication and more stable across redesigns than the DOM, and the records come back cleaner.
Rendering is the expensive fallback. When content exists only after JavaScript runs, Playwright, Puppeteer or Selenium drive a real browser engine, which multiplies both time and bytes per page. An HTML document of a few dozen kilobytes turns into megabytes once images, fonts and third-party scripts load. Blocking resource types you never parse removes most of that. Sites also fingerprint the client, reading the TLS handshake shape, the HTTP/2 settings frame, header order and casing, so a Python client announcing Chrome in its User-Agent is a contradiction that detection systems read easily.
Blocks arrive in several forms. An outright 403, or a 429 with a Retry-After header, is the visible version. A CAPTCHA interstitial is the middle. The quiet one is altered content, such as truncated listings or a stale cached page, served with a 200 status. That last case is why a monitor counting only HTTP status codes reports a healthy crawl while the database fills with nulls. Track parsed field coverage per run alongside status codes, and keep raw response bodies so you can reparse without refetching.
Proxies enter once per-IP limits rather than parsing become the constraint. Requests spread across a rotating pool raise the ceiling, and geo-targeted exits return the regional version of a page. Sticky sessions hold one address through a login or a multi-step flow. Politeness still applies. Read robots.txt and keep concurrency proportionate to the size of the site you are hitting. A 429 asks you to slow down, and retrying it immediately makes the next one arrive sooner. Public data collection is routine work, though terms of service, personal data law and login-gated content raise separate questions with real consequences.
Where you meet it
You arrive here when a job that ran fine on your laptop starts returning 403s from a server, or when the same script reads different prices depending on where it runs. Both trace back to the same fact, that the target treats your address and client fingerprint as part of the request. The practical decisions are what to fetch, at what rate, and from which addresses, and bandwidth cost and block rate move in opposite directions as you tune them.
Common questions
Is web scraping legal?
It depends on jurisdiction, the site's terms, whether you circumvented a login or a technical protection, and whether the records include personal data covered by rules such as GDPR. Collecting public pages at a modest rate is ordinary practice. Scraping behind an account or republishing copyrighted content raises different questions, and both are worth legal advice on your specific target.
Why do I still get blocked when using proxies?
The IP is one signal among many. A rotating pool does nothing about a TLS fingerprint that identifies your HTTP library, headers in an order no browser sends, missing browser APIs under headless mode, or request timing too regular to be human. Fix the client fingerprint and pacing alongside the addresses, and check whether the block is per IP or per account.
How much bandwidth does scraping use?
Almost entirely a question of whether you render. Fetching HTML or a JSON endpoint costs tens to a few hundred kilobytes per page. Driving a full browser that loads images, fonts and analytics scripts often costs several megabytes for the same record. Blocking image, media and font requests inside the browser context usually removes the largest share.
Related terms
Real 4G/5G mobile and residential IPs
PROXIES.SX runs carrier IPs in 100+ countries with HTTP and SOCKS5 on every endpoint. $4/GB down to $2.40/GB at volume, free endpoints and rotation, and your GB never expire.