Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

Модуль requests в python3

Всем привет. Сегодня мы рассмотрим интересный модуль requests позволяющий отправлять различные http запросы. Итак, поехали!

Для начала устанавливаем модуль через pip.

pip install requests

Затем импортируем его в программу.

import requests

Все теперь мы можем с ним работать.

Отправим обычный get запрос на главную страницу моего блога.

response = requests.get('https://webfanat.com')

print(response)

Здесь мы с помощью метода get() отправили get запрос на страницу по адресу https://webfanat.com и в переменную response получили ответ.

Теперь сам ответ мы можем обрабатывать через специальные методы и свойства.

К примеру свойство status_code вернет нам код статуса ответа от сервера.

print(response.status_code)

Если вернется код со статусом 200, это значит что запрос успешно выполнен и страница найдена.

Для просмотра содержимого ответа мы можем воспользоваться свойством content.

print(response.content)

Нам вернется все содержимое которое содержит ответ.

Можно также просматривать заголовки ответа.

print(response.headers)

Здесь c помощью свойства headers мы просматриваем все возвращенные заголовки ответа нашего запроса.

Если мы хотим просмотреть отдельный заголовок, к примеру Set-Cookie:

print(response.headers.get('Set-Cookie'))

К свойству headers добавляем метод get() в котором указываем название заголовка. И в результате нам возвращается его содержимое.

Для получения возвращаемого контента ответа, нужно обратится к свойству text.

print(response.text)

В результате вернется html код главной страницы моего блога. Для удобства все это дело можно записать в файл.

content = response.text

file = open('index.php', 'w')

file.write(content)

file.close()

В результате создастся файл index.php куда и будет помещен html код.

Еще если в качестве ответа от сервера возвращается строка в json формате мы можем ее обработать через метод json().

print(response.json())

В итоге у нас строка преобразуется в json объект.

Отлично! C обработкой запросов мы с вами разобрались. Теперь вернемся в начало к отправке запроса.

Метод get() объекта requests помимо адреса куда будет отправляться запрос может принимать еще такие параметры, как headers(заголовки) и params(параметры).

Пример:

param = {'id': 4}

header = {'Set-cookie': '5ceeuc6ee6e5ece'}

response = requests.get('https://webfanat.com/article_id', params=param, headers=header)

print(response.text)

Здесь мы отправляем запрос по адресу https://webfanat.com/article_id?id=4 и передаем заголовок Set-cookie: 5ceeuc6ee6e5ece.

Как видите значения параметром params и headers устанавливается в формате json.

В итоге мы через свойство text выводим содержимое страницы https://webfanat.com/article_id?id=4.

Подобную схему мы можем использовать и при отправке post() запросов:

field = {'login': 'ajfjvfd', 'password': 'fdcfdccsd'}

header = {'Set-cookie': 'b47ctr46ctb6r43tbcf4'}

res = requests.post("http://webfanat.com/login", data=field, headers=header)

print(res.text)

Обратите внимание что здесь мы вместо параметра params используем параметр data. Это связано с тем что мы данные в post запросе передаем не через адресную строку.

Для передачи файлов через post запрос используется параметр files.

Вот в принципе и все что я хотел вам рассказать про работу с модулем requests. Мы рассмотрели самое основное. Put, delete, head и options запросы мы рассматривать не будем, так как они не так часто используются.

На этом данная статья подошла к концу. Если у вас остались вопросы, пишите в комментариях или группе

вк.

я с вами прощаюсь. Желаю вам успехов и удачи! Пока.

Оцените статью

Еще статьи

Использование свойства box-shadow для создания рамок

Javascript окна

CSS шрифты

Создание многоколоночного текста в css3

CSS перенос слов

css отражение изображения

Метод array.filter() в js

Broadcast Channel API в html5

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.