Web Scraping24 min read

Query Params and Search Forms

Learn how websites pass search filters through URLs and forms, and how to scrape filtered results using query parameters.

David Miller
November 28, 2025
2.6k107

Most websites allow searching or filtering:

  • product by category
  • jobs by city
  • news by keyword

These filters are usually sent as query parameters.

Example URL:
site.com/search?q=python&page=2

Here:
q = python
page = 2

Why this matters

Instead of clicking forms manually, you can:

  • change URL parameters
  • loop over values
  • collect large datasets

Inspect query params

Open browser DevTools → Network → search request.

You may see:
?q=laptop&min_price=500


Using params with requests

import requests

url = "https://example.com/search"
params = {
    "q": "python",
    "page": 1
}

res = requests.get(url, params=params)
print(res.url)  # full URL with params

Loop over search pages

for page in range(1, 4):
    params = {"q": "python", "page": page}
    res = requests.get("https://example.com/search", params=params)
    print("Scraping:", res.url)

Graph: query param flow

flowchart LR
  A[Search Form] --> B[URL Params]
  B --> C[requests.get()]
  C --> D[Filtered Results]

Remember

  • Forms usually map to URL parameters
  • You can build URLs programmatically
  • This unlocks large datasets
#Python#Beginner#Forms