Как сделать запрос на сайт в python

Подробная инструкция для тех, кто хочет научиться делать запросы на сайты с помощью Python: примеры, настройка параметров запроса, проверка ответа.

Запрос на сайт в Python

Для начала необходимо импортировать библиотеку requests для отправки запроса:

import requests

Далее присваиваем переменной URL адрес запрашиваемой страницы, в данном случае это https://www.example.com:

url = 'https://www.example.com'

Теперь создаем объект типа Response и присваиваем его переменной response для получения данных от сервера:

response = requests.get(url)

Затем проверяем статус ответа сервера. Если запрос прошел успешно, то статус ответа 200. Иначе будет выведена ошибка:

if response.status_code == 200:
    print('Success!')
else:
    print('An error has occurred.')

Для обработки данных используем метод text, который возвращает строку. Для примера выведем исходный текст страницы:

print(response.text)

Для получения данных в формате JSON используем метод json, который возвращает словарь. Для примера выведем исходный текст словаря:

print(response.json())

Для получения данных, переданных в запросе, используем метод params. Для примера, передадим данные, которые будут переданы в запросе:

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=data)

Для отправки POST-запроса используем метод post, который принимает аргументы data (данные, которые будут переданы в запросе) и json (данные, которые будут переданы в запросе в формате JSON):

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post(url, data=data, json=json_data)

Для получения заголовков используем метод headers:

response = requests.get(url)
headers = response.headers
print(headers)

Для отправки файлов на сервер используем метод files. Следующий пример показывает, как отправить файл на сервер:

files = {'file': open('test.txt', 'rb')}
response = requests.post(url, files=files)

Для указания прокси-сервера используем метод proxies:

proxies = {
    'http': 'http://10.10.1.10:3128',
    'https': 'http://10.10.1.10:1080',
}
response = requests.get(url, proxies=proxies)

Для указания аутентификации используем метод auth. Следующий пример показывает, как передать имя пользователя и пароль для аутентификации:

auth = ('username', 'password')
response = requests.get(url, auth=auth)

В заключение, для отправки запроса на сайт в Python используем библиотеку requests. Выше были показаны примеры отправки запроса на сайт, получения данных, отправки POST-запроса, получения заголовков, отправки файла и указания прокси-сервера и аутентификации.

Ответы (0)