Использование библиотеки Requests в Python
Для начала давайте разберемся, что же вообще такое библиотека Requests.
Requests — это HTTP-библиотека, написанная на Python (под лицензией Apache2). Она спроектирована для взаимодействия людей с эим языком. Это означает, что вам не нужно вручную добавлять строки запроса в URL-адреса или заносить данные в форму для POST -запроса. Если это кажется вам бессмысленным, не волнуйтесь. В нужное время все прояснится.
Что же делает библиотека Requests?
Библиотека Requests дает вам возможность посылать HTTP/1.1-запросы, используя Python. С ее помощью вы можете добавлять контент, например заголовки, формы, многокомпонентные файлы и параметры, используя только простые библиотеки Python. Также вы можете получать доступ к таким данным.
В программировании библиотека — это набор или, точнее сказать, предварительно настроенный набор подпрограмм, функций и операций, которые в дальнейшем может использовать ваша программа. Эти элементы часто называют модулями, которые хранятся в объектном формате.
Библиотеки очень важны, потому что вы можете загрузить модуль и использовать все, что он предлагает, без явной связи с вашей программой. Они действительно автономны, так что вы можете создавать свои собственные программы с ними, и все же они остаются отделенными от ваших программ.
Таким образом, о модулях можно думать как о неких шаблонах кода.
Повторимся еще раз, Requests — это библиотека языка Python.
Как установить Requests
Сразу сообщим вам хорошую новость: существует множество способов для установки Requests. С полным списком можно ознакомиться в официальной документации библиотеки Requests.
Вы можете использовать pip, easy_install или tarball.
Если вам нужен исходный код, вы можете найти его на GitHub.
Мы для установки библиотеки воспользуемся менеджером pip.
В интерпретаторе Python введите следующую команду:
pip install requests
Импортирование модуля Requests
Для работы с библиотекой Requests в Python вам необходимо импортировать соответствующий модуль. Вы можете это сделать, просто поместив следующий код в начало вашей программы:
import requests
Разумеется, предварительно этот модуль должен быть установлен и доступен для интерпретатора.
Делаем запрос
Когда вы пингуете веб-сайт или портал для получения информации, то это как раз и называется созданием запроса.
Для получения веб-страницы вам нужно написать что-то в таком духе:
r = requests.get(‘https://github.com/timeline.json’)
Работаем с кодом ответа
Перед тем как вы будете что-то делать с веб-сайтом или URL, хорошей идеей будет проверить код ответа, который вернул вам сервер. Это можно сделать следующим образом:
r = requests.get('https://github.com/timeline.json') r.status_code >>200 r.status_code == requests.codes.ok >>> True requests.codes['temporary_redirect'] >>> 307 requests.codes.teapot >>> 418 requests.codes['o/'] >>> 200
Получаем содержимое страницы
После того как сервер вам ответил, вы можете получить нужный вам контент. Это также делается при помощи функции get библиотеки Requests.
import requests r = requests.get('https://github.com/timeline.json') print(r.text) # Библиотека Requests также имеет встроенный JSON-декодер на # тот случай, если вам понадобятся данные JSON import requests r = requests.get('https://github.com/timeline.json') print(r.json)
Работаем с заголовками
Используя словари Python, вы можете просмотреть заголовки ответа сервера. Особенностью работы библиотеки Requests является то, что для получения доступа к заголовкам вы можете использовать в ключах словаря как заглавные, так и строчные буквы.
Если вызываемого заголовка нет, будет возвращено значение None .
r.headers < 'status': '200 OK', 'content-encoding': 'gzip', 'transfer-encoding': 'chunked', 'connection': 'close', 'server': 'nginx/1.0.4', 'x-runtime': '148ms', 'etag': '"e1ca502697e5c9317743dc078f67693f"', 'content-type': 'application/json; charset=utf-8' >r.headers['Content-Type'] >>>'application/json; charset=utf-8' r.headers.get('content-type') >>>'application/json; charset=utf-8' r.headers['X-Random'] >>>None # Получаем заголовки данного URL resp = requests.head("http://www.google.com") print resp.status_code, resp.text, resp.headers
Кодирование
Библиотека Requests автоматически декодирует любой контент, извлеченный из сервера. Хотя большинство наборов символов Unicode в любом случае легко декодируются.
Когда вы делаете запрос к серверу, библиотека Requests делает обоснованное предположение о кодировке ответа. Это делается на основании заголовков HTTP. Предполагаемая кодировка будет использоваться при доступе к файлу r.text .
С помощью этого файла вы можете определить, какую кодировку использует библиотека Requests, и при необходимости изменить ее. Это возможно благодаря атрибуту r.encoding , который вы найдете в файле.
Когда вы измените значение кодировки, в дальнейшем библиотека Requests при вызове вами r.text будет использовать новый тип кодировки.
print(r.encoding) >> utf-8 >>> r.encoding = ‘ISO-8859-1’
Пользовательские заголовки
Если вы хотите добавить пользовательские заголовки в HTTP-запрос, вы должны передать их через словарь в параметр заголовков.
import json url = 'https://api.github.com/some/endpoint' payload = headers = r = requests.post(url, data=json.dumps(payload), headers=headers)
Переадресация и история
Библиотека Requests автоматически поддерживает переадресацию при выполнении команд GET и OPTION .
Например, GitHub из соображений безопасности автотоматически переадресует все HTTP -запросы на HTTPS .
Вы можете отслеживать статус переадресации при помощи метода history , который реализован для объекта response .
r = requests.get('http://github.com') r.url >>> 'https://github.com/' r.status_code >>> 200 r.history >>> []
Осуществление POST-запроса HTTP
Также с помощью библиотеки Requests вы можете работать и с POST -запросами:
r = requests.post(http://httpbin.org/post)
Но вы также можете выполнять и другие HTTP -запросы, такие как PUT , DELETE , HEAD , и OPTIONS .
r = requests.put("http://httpbin.org/put") r = requests.delete("http://httpbin.org/delete") r = requests.head("http://httpbin.org/get") r = requests.options("http://httpbin.org/get")
При помощи этих методов можно сделать массу разных вещей. Например, при помощи следующего кода вы можете создать репозиторий GitHub:
import requests, json github_url = "https://api.github.com/user/repos" data = json.dumps() r = requests.post(github_url, data, auth=('user', '*****')) print r.json
Ошибки и исключения
Есть ряд ошибок и исколючений, с которыми вам надо ознакомиться при использовании библиотеки Requests.
- При проблемах с сетью, например с DNS , или отказе соединения, библиотека Requests вызовет исключение ConnectionError .
- При недопустимом ответе HTTP библиотека Requests вызвоет исключение HTTPError , но это довольно редкий случай.
- Если время запроса истекло, возникнет исключение Timeout .
- Когда при запросе будет превышено заранее заданное количество переадресаций, возникнет исключение TooManyRedirects .
Все исключения, вызываемые библиотекой Requests, наследуются от объекта requests.exceptions.RequestException .
Дополнительные материалы
Более подробно про билиотеку Requests вы можете почитать, пройдя по следующим ссылкам:
- http://docs.python-requests.org/en/latest/api/
- http://pypi.python.org/pypi/requests
- http://docs.python-requests.org/en/latest/user/quickstart/
- http://isbullsh.it/2012/06/Rest-api-in-python/#requests
Устанавливаем python-пакеты с помощью pip

pip — это система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python.
Установка pip
Прежде чем с помощью pip устанавливать python-пакеты, нужно сначала установить сам pip.
Python 3.4+
Начиная с Python версии 3.4, pip поставляется вместе с интерпретатором python.
Python
- Загрузить get-pip.py (обязательно сохранив с расширением .py).
- Запустить этот файл (могут потребоваться права администратора).
Есть ещё один способ (для Windows). Возможно, он является более предпочтительным:
- Установить setuptools http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools
- Установить pip http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
Начало работы
Попробуем с помощью pip установить какой-нибудь пакет, например, numpy:
sudo pip3 install numpy
pip3 install numpy
Может не сработать, написав: «python» не является внутренней или внешней командой, исполняемой программой или пакетным файлом (такого, скорее всего, не должно быть при установке pip вторым способом, но проверить не на чем).
Тогда нужно обращаться напрямую:
Либо добавлять папку C:\Python34\Tools\Scripts\ в PATH вручную (самому проверить не на чем, можете посмотреть на stackoverflow. У кого получится — напишите в комментарии).
Что ещё умеет делать pip
Пробежимся по основным командам pip:
pip help — помощь по доступным командам.
pip install package_name — установка пакета(ов).
pip uninstall package_name — удаление пакета(ов).
pip list — список установленных пакетов.
pip show package_name — показывает информацию об установленном пакете.
pip search — поиск пакетов по имени.
pip —proxy user:passwd@proxy.server:port — использование с прокси.
pip install -U — обновление пакета(ов).
pip install —force-reinstall — при обновлении, переустановить пакет, даже если он последней версии.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Как устанавливаются пакеты в Python с PIP и без
Представьте, вы — начальник, и вам нужно собрать отчетность и все документы за год. Вы просите это сделать менеджера, у которого вся документация в доступе — он знает, где искать и как собрать. Так же и в Python: чтобы было удобно работать со всеми библиотеками или пакетами, нужен менеджер пакетов — pip, который вместо вас […]
Подготовлено_выпускником -->

Получите востребованную профессию бесплатно. Обучение от 1 до 4 месяцев
Представьте, вы — начальник, и вам нужно собрать отчетность и все документы за год.
Вы просите это сделать менеджера, у которого вся документация в доступе — он знает, где искать и как собрать. Так же и в Python: чтобы было удобно работать со всеми библиотеками или пакетами, нужен менеджер пакетов — pip, который вместо вас все загрузит. Однако сделать это можно самостоятельно вручную.
Как устанавливать пакеты Python с pip и без, простыми словами объясняем в статье.
Установка PIP для Python 3 и 2
PIP — это стандартный инструмент для управления пакетами в Python. Его рекомендуется использовать для установки и управления пакетами.
Для установки PIP для Python 3 необходимо выполнить следующие шаги:
- Убедитесь, что у вас установлен Python 3.
- Установите пакеты python3-pip и python3-dev для вашей операционной системы. Например, для Ubuntu это можно сделать следующим образом:
sudo apt-get install python3-pip python3-dev
- Проверьте, что PIP установлен правильно:
pip3 —version
- Если все прошло успешно, вы увидите версию PIP для Python 3.
Для установки PIP для Python 2 следует сделать точно такие же шаги, заменяя команды установки пакетов на соответствующие версии пакетов для Python 2. Например, для Linux это будет:
apt-get install python-pip
Затем можно проверить, что PIP установлен успешно для Python 2, выполнив команду:
pip —version
Установка пакета в pip
Пакеты в Python — это директория с обязательным модулем __init__.py. Остальное содержимое опционально и может включать модули или другие пакеты.
Модуль — это файл с частью кода. В разработке код огромный, поэтому его разбивают на смысловые и завершенные части, чтобы было удобнее работать.
Установить пакет можно двумя способами:

- Вручную, скачивая и устанавливая необходимые пакеты.
- С помощью менеджера пакетов pip.
Чтобы установить пакет в PIP, выполните следующие действия:
- Откройте терминал или командную строку в своей операционной системе.
- Введите команду `pip install название_пакета`, где `название_пакета` — это название и версия пакета, который вы хотите установить. Если вы хотите установить последнюю версию пакета, то просто напишите название пакета, без указания его версии.
- Нажмите клавишу Enter. PIP начнет загрузку и установку запрошенного пакета.
- Когда PIP завершит установку пакета, вы увидите сообщение об успешном завершении операции.
Вот несколько примеров команд установки популярных пакетов при помощи PIP:
pip install requests — Установить пакет requests
pip install Flask==1.1.2 — Установить конкретную версию Фреймворка Flask
pip install numpy==1.19.5 — Установить конкретную версию пакета numpy
Важно: выполнение команды `pip install` может потребовать прав администратора. Если вы используете систему Linux, стоит запустить команду от имени суперпользователя с помощью команды `sudo`. Например:
sudo pip install requests
Удаление пакета Python
Если вы хотите удалить установленный пакет Python, вы можете использовать утилиту pip.
Чтобы удалить пакет, выполните следующие шаги в командной строке:
- Откройте терминал или командную строку в операционной системе.
- Введите команду `pip uninstall название_пакета`, где `название_пакета` — это название пакета Python, который вы хотите удалить.
- Нажмите клавишу Enter.
- Подтвердите удаление пакета, запустив команду `yes`.
Несколько примеров команд удаления популярных пакетов:
pip uninstall requests # Удалить пакет requests
pip uninstall Flask # Удалить пакет Фреймворка Flask
pip uninstall numpy # Удалить пакет numpy
Важно : для выполнения команды `pip uninstall` может потребоваться права администратора. Если работаете в системе Linux, то выполните команду от имени суперпользователя, используя команду `sudo`. Например :
sudo pip uninstall requests
Как установить пакеты в Python без pip
Если вы не хотите использовать pip, то установить пакеты на Python можно и без менеджера — pip. Чтобы это сделать следуете шагам, описанным ниже:
- Скачайте и установите пакет, который вы хотите установить. Обычно пакеты Python содержат файлы с расширением .tar.gz или .zip.
- Разархивируйте пакет в любой удобной для вас папке.
- Откройте терминал или командную строку.
- Перейдите в папку, которую вы создали на предыдущем шаге.
- Запустите файл setup.py , который находится в папке пакета, следующей командой:
python setup.py install - После запуска скрипта установки, Python установит пакет, который вы выбрали.
Пример установки пакета pillow (установочный файл можно скачать с сайта https://pypi.org/project/Pillow/ ):
tar -xf Pillow-7.2.0.tar.gz
cd Pillow-7.2.0
python setup.py install
Несмотря на то, что установка пакетов без PIP возможна, это обходное решение. PIP обеспечивает более простой и надежный способ установки и управления пакетами.
Стать квалифицированным разработчиком реально, обучившись на курсах IT от федерального проекта «Содействие занятости» .
Выбирайте, в какой профессии вы хотите стартовать:
- «Тестировщик программного обеспечения: с нуля до первых проектов»
- «Web-программист: с нуля до первых проектов»
- «1С программист»
- «Android-разработчик: создание мобильных приложений»
- «Аналитик данных:с нуля до разработки прикладных решений для бизнеса»
- «Project manager в IT: старт карьеры руководителя ИТ проектов»
Обучение на всех курсах проходит в онлайн-формате на образовательной платформе Odin. Все учебные материалы, лекции и презентации доступны вам в любое время. Обучаться можно по гибкому графику: вечером или на выходных, даже с телефона.
После окончания программы вы получите документ установленного образца и возможность пройти оплачиваемую стажировку в компаниях-партнерах проекта. Сейчас «Содействие занятости» сотрудничает с крупными компаниями: Литрес, МТС, Яндекс, Кинопоиск, ВТБ, банк «Открытие», Теле2 и другими.
Как только закончите обучение, вы получите доступ в закрытый канал с 4500+ вакансиями от проверенных работодателей России. Мы связываемся с работодателями по всей России и ищем для вас актуальные вакансии «с опытом» и «без», чтобы вы могли найти работу мечты после обучения. Каждый день канал добавляется больше 10 свежих вакансий
Чтобы вам было легче и комфортнее найти работу после обучения, чувствовать поддержку и получать помощь и ответы на вопросы, обращайтесь в Центр карьеры . Вы научитесь создавать продающее резюме, оформлять портфолио, писать сопроводительные письма.
Для наших выпускников Центр карьеры проводит консультации, на которых наши HR-специалисты профессионально помогут: понять, на какую зарплату вы можете претендовать, подготовят статистику по вашей позиции), составить план поиска работы, правильно коммуницировать с работодателем на всех этапах работы.
Поделиться:
Бесплатно помогаем найти работу мечты
Лучшая инвестиция — это инвестиция в себя, в свои знания и будущее. Оставьте заявку на бесплатное обучение прямо сейчас и станьте участником проекта.


Получите востребованную профессию бесплатно. Обучение от 1 до 4 месяцев
Не устанавливается модуль requests для python
Ось – Win7. При попытке установить requests через pip install requests в консоли все выходит, однако при дальнейшей попытке подключить через import requests idle или visual studio выдает ошибку об отсутствии модуля. Есть варианты решения?
Отслеживать
задан 9 ноя 2018 в 14:31
user315337 user315337
11 2 2 бронзовых знака
Возможно, у вас несколько версий python стоит -- в одну установили requests , а в другой пытались импортировать. Посмотрите переменные окружения в PATH какие пути ведут в папку с питоном к pip
9 ноя 2018 в 15:36
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Предлагаю убедиться в том, что установка прошла успешно, для начала: pip list в командной строке и посмотреть что вообще установлено.
Так же можно сохранить файл скрипта в текстовом редакторе и запустить его из командной строки.
Еще нужно зайти в Свойства системы → Дополнительно → Переменные среды и убедится в наличии и корректности питоновской PATH
Отслеживать
ответ дан 9 ноя 2018 в 15:17
93 7 7 бронзовых знаков
С idle или visual studio я не работал, но в pycharm иногда натыкаюсь на такое поведения, если для проекта настроена не та версия питона, для которой выполнялась установка пакета.
Убедитесь, что версии совпадают. Скорее всего, в ваших IDE настроена третья версия питона, а pip ставил пакет для второй версии.
Если это так, нужно выполнить такую же установку через pip3.
Отслеживать
ответ дан 9 ноя 2018 в 15:28
20.4k 4 4 золотых знака 25 25 серебряных знаков 52 52 бронзовых знака
попробуйте py -m pip install reques
Отслеживать
ответ дан 15 дек 2023 в 14:03
исправьте, пожалуйста, опечатку, и опишите, чем ваш ответ принципиально отличается от предыдущих. (для этого надо нажать ссылку править ниже текста ответа).