How do I pass URL parameters with my GET request using Requests?

In Python, you can use the requests library to make a GET request and pass URL parameters. URL parameters are typically used to pass data to the server as part of the URL, often for filtering results or specifying which data to return.

Here's how you can pass URL parameters with a GET request using requests:

import requests

# The base URL of the API or site you are trying to access.
url = 'http://example.com/api/items'

# Dictionary containing the URL parameters you want to send.
params = {
    'param1': 'value1',
    'param2': 'value2'
}

# Make the GET request with URL parameters.
response = requests.get(url, params=params)

# Check if the request was successful.
if response.status_code == 200:
    # Do something with the response, e.g., print the content or parse it as JSON.
    print(response.text)
else:
    print("Failed to retrieve data:", response.status_code)

In this example, the params dictionary holds the parameters you want to pass. The requests.get function takes these parameters and automatically encodes them and appends them to the URL as a query string before making the request.

The final URL that the request is made to would look something like this: http://example.com/api/items?param1=value1&param2=value2

Additionally, you can handle JSON responses by using the .json() method, which will parse the JSON response content and return a dictionary:

if response.status_code == 200:
    data = response.json()
    print(data)

Remember to handle exceptions and errors that might occur due to network issues or server errors. You can do this using a try-except block:

try:
    response = requests.get(url, params=params)
    response.raise_for_status()  # This will raise an HTTPError if the HTTP request returned an unsuccessful status code.
    # Process the response here
except requests.exceptions.HTTPError as errh:
    print("Http Error:", errh)
except requests.exceptions.ConnectionError as errc:
    print("Error Connecting:", errc)
except requests.exceptions.Timeout as errt:
    print("Timeout Error:", errt)
except requests.exceptions.RequestException as err:
    print("OOps: Something Else", err)

Always remember to install the requests library if you haven't already, by running: pip install requests

Using requests is a standard and convenient way to handle HTTP requests in Python. It provides a simple API for sending all kinds of HTTP requests, handling query parameters, form data, multipart files, and custom headers, making it a great choice for web scraping and API interactions.

Related Questions

Get Started Now

WebScraping.AI provides rotating proxies, Chromium rendering and built-in HTML parser for web scraping
Icon