Как сделать запрос на сайт в 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-запроса, получения заголовков, отправки файла и указания прокси-сервера и аутентификации.