Web Scraping24 min read
Scraping Multiple Pages
Learn how to scrape data spread across many pages using pagination patterns and loops.
David Miller
December 4, 2025
2.1k42
Most websites show data across many pages.
Example:
- jobs page 1, 2, 3...
- products page 1, 2, 3...
You must loop through pages.
Common pagination pattern
URLs often look like:
- site.com?page=1
- site.com?page=2
Simple loop example
import requests
from bs4 import BeautifulSoup
for page in range(1, 6):
url = f"https://example.com?page={page}"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
print("Page:", page)
for h in soup.find_all("h2"):
print(h.text.strip())
Stop when no data found
page = 1
while True:
url = f"https://example.com?page={page}"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
items = soup.find_all("h2")
if not items:
break
for h in items:
print(h.text.strip())
page += 1
Graph: pagination loop
flowchart TD
A[Start page=1] --> B[Request page]
B --> C{Items found?}
C -->|Yes| D[Extract data]
D --> E[page += 1]
E --> B
C -->|No| F[Stop]
Remember
- Many sites use page numbers
- Loop until no results
- Add delays to be polite
#Python#Beginner#Pagination