urllib — это встроенный модуль Python, который эффективно обрабатывает URL. Библиотека urllib используется для получения URL-адресов (унифицированных указателей ресурсов). Он использует функцию urlopen и может получать URL-адреса, используя различные протоколы.
Urllib — это пакет, который собирает несколько модулей для работы с URL-адресами, например:
- Модуль urllib.request используется для открытия и чтения.
- Модуль urllib.parse используется для анализа URL-адресов.
- urllib.error — для возбуждения исключений.
- urllib.robotparser — для разбора файлов robot.txt.
Модуль Python urllib.request
Модуль urllib.request определяет функции и классы, которые помогают открывать URL-адреса (в основном HTTP) в сложном мире — базовая и дайджест-аутентификация, перенаправления, файлы cookie и многое другое.
Python urllib.request.urlopen()
urllib.request.urlopen() — это встроенная функция Python, которая открывает URL-адрес, либо строку, либо объект запроса. Данные должны быть объектом, определяющим дополнительные данные для отправки на сервер, или None, если такие данные не нужны.

Синтаксис
|
1 2 |
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) |
Параметры
Модуль urllib.request использует HTTP/1.1 и включает заголовок Connection:close в свои HTTP-запросы.
- Необязательный параметр timeout указывает тайм-аут в секундах для блокировки таких операций, как попытка подключения (если он не указан, будет использоваться глобальная настройка тайм-аута по умолчанию). На самом деле это работает только для соединений HTTP, HTTPS и FTP.
Если контекст указан, он должен быть экземпляром SSL.SSLContext, описывающим различные параметры SSL. Подробнее см. в разделе HTTPSConnection.
- Необязательные параметры cafile и capath определяют набор доверенных сертификатов ЦС для HTTPS-запросов. cafile должен указывать на один файл, содержащий набор сертификатов CA, тогда как capath должен указывать на каталог с файлами хешированных сертификатов. Дополнительную информацию можно найти в SSL.SSLContext.load_verify_locations().
- Параметр cadefault игнорируется.
Пример
|
1 2 3 4 |
import urllib.request req_url = urllib.request.urlopen("https://appdividend.com") print(req_url.read()) |
Вы также можете использовать оператор with с приведенным выше кодом.
|
1 2 3 4 5 |
import urllib.request with urllib.request.urlopen('https://appdividend.com') as response: html = response.read() print(html) |
