Python

Как использовать Urllib в Python

Как использовать Urllib в Python

Python содержит модуль с именем urllib для обработки задач, связанных с унифицированным указателем ресурсов (URL). Этот модуль установлен в Python 3 по умолчанию и получает URL-адреса различных протоколов через urlopen () функция. Urllib можно использовать для многих целей, таких как чтение содержимого веб-сайта, выполнение запросов HTTP и HTTPS, отправка заголовков запросов и получение заголовков ответов. В urllib модуль содержит множество других модулей для работы с URL-адресами, например urllib.запрос, urllib.разбирать, а также urllib.ошибка, среди прочего. Из этого туториала Вы узнаете, как использовать модуль Urllib в Python.

Пример 1. Открытие и чтение URL-адресов с помощью urllib.запрос

В urllib.запрос модуль содержит классы и методы, необходимые для открытия и чтения любого URL-адреса. Следующий сценарий показывает, как использовать urllib.запрос модуль для открытия URL-адреса и чтения содержимого URL-адреса. Здесь urlopen () используется для открытия URL, "https: // www.linuxhint.com /.”Если URL-адрес действителен, то содержимое URL-адреса будет сохранено в объектной переменной с именем отклик. В читать() метод отклик Затем объект используется для чтения содержимого URL.

#!/ usr / bin / env python3
# Импортировать модуль запроса urllib
импортировать urllib.запрос
# Открыть конкретный URL для чтения с помощью urlopen ()
response = urllib.запрос.urlopen ('https: // www.linuxhint.com / ')
# Распечатать данные ответа URL
print ("Вывод URL: \ n \ n", ответ.читать())

Выход

Следующий вывод появится после запуска скрипта.

Пример 2: Разбор и разбор URL-адресов с помощью urllib.разбирать

В urllib.разбирать модуль в основном используется для разделения или объединения различных компонентов URL-адреса. Следующий сценарий показывает различные варианты использования urllib.разбирать модуль. Четыре функции urllib.разбирать используются в следующем скрипте, включают urlparse, urlunparse, urlsplit, а также urlunsplit. В urlparse модуль работает как urlsplit, и urlunparse модуль работает как urlunsplit. Между этими функциями есть только одно различие; это, urlparse а также urlunparse содержать дополнительный параметр с именем 'параметры'для разделения и функции соединения. Здесь URL 'https: // linuxhint.com / play_sound_python / 'используется для разделения и присоединения URL.

#!/ usr / bin / env python3
 
# Импортировать модуль синтаксического анализа urllib
импортировать urllib.разбирать
 
# Разбор URL с помощью urlparse ()
urlParse = urllib.разбирать.urlparse ('https: // linuxhint.ru / play_sound_python / ')
print ("\ nВыход URL после анализа: \ n", urlParse)
 
# Присоединение к URL с помощью urlunparse ()
urlUnparse = urllib.разбирать.urlunparse (urlParse)
print ("\ nОбъединение результатов анализа URL: \ n", urlUnparse)
 
# Разбор URL с помощью urlsplit ()
urlSplit = urllib.разбирать.urlsplit ('https: // linuxhint.ru / play_sound_python / ')
print ("\ nВыход URL после разделения: \ n", urlSplit)
 
# Присоединение к URL с помощью urlunsplit ()
urlUnsplit = urllib.разбирать.urlunsplit (urlSplit)
print ("\ nСоединительный вывод разделения URL-адреса: \ n", urlUnsplit)

Выход

Следующие четыре выхода появятся после запуска скрипта.

Пример 3: Чтение заголовка ответа HTML с помощью urllib.запрос

Следующий сценарий показывает, как различные части заголовка ответа URL-адреса могут быть получены через Информация() метод. В urllib.запрос модуль, используемый для открытия URL, 'https: // linuxhint.ru / python_pause_user_input /,', а информация заголовка этого URL-адреса печатается через Информация() метод. Следующая часть этого скрипта покажет вам, как читать каждую часть заголовка отдельно. Здесь Сервер, Дата, а также Тип содержимого значения печатаются отдельно.

#!/ usr / bin / env python3
# Импортировать модуль запроса urllib
импортировать urllib.запрос
# Открываем URL для чтения
urlResponse = urllib.запрос.urlopen ('https: // linuxhint.com / python_pause_user_input / ')
# Чтение вывода заголовка ответа URL
печать (urlResponse.Информация())
# Чтение информации заголовка отдельно
print ('Сервер ответа =', urlResponse.info () ["Сервер"])
print ('Дата ответа =', urlResponse.info () ["Дата"])
print ('Тип содержимого ответа =', urlResponse.info () ["Content-Type"])

Выход

Следующий вывод появится после запуска скрипта.

Пример 4. Чтение ответов URL построчно

Локальный URL-адрес используется в следующем скрипте. Здесь тестовый HTML-файл с именем контрольная работа.html создается в локации, var /www / html. Содержимое этого файла читается построчно через  для петля. В полоска() затем используется метод для удаления пробелов с обеих сторон каждой строки. Вы можете использовать любой HTML-файл с локального сервера для тестирования скрипта. Содержание контрольная работа.html файл, используемый в этом примере, приведен ниже.

контрольная работа.html:



Страница тестирования


#!/ usr / bin / env python3
 
# Импортировать urllib.модуль запроса
импортировать urllib.запрос
 
# Открыть локальный URL для чтения
response = urllib.запрос.urlopen ('http: // localhost / test.html ')
 
# Прочитать URL из ответа
print ('URL:', ответ.geturl ())
 
# Прочитать текст ответа построчно
print ("\ nЧитаем содержание:")
для строки в ответ:
печать (строка.полоска())

Выход

Следующий вывод появится после запуска скрипта.

Пример 5: Обработка исключений с помощью urllib.ошибка.URLError

Следующий сценарий показывает, как использовать URLError в Python через urllib.ошибка модуль. Любой URL-адрес может быть взят как ввод от пользователя. Если адрес не существует, то URLError будет возбуждено исключение, и будет напечатана причина ошибки. Если значение URL-адреса имеет недопустимый формат, тогда ValueError будет поднят, и пользовательская ошибка будет напечатана.

#!/ usr / bin / env python3
 
# Импортировать необходимые модули
импортировать urllib.запрос
импортировать urllib.ошибка
 
# попробуйте заблокировать, чтобы открыть любой URL для чтения
пытаться:
url = input ("Введите любой URL-адрес:")
response = urllib.запрос.urlopen (url)
печать (ответ.читать())
 
# Поймать ошибку URL, которая будет генерироваться при открытии любого URL
кроме urllib.ошибка.URLError как e:
print ("Ошибка URL:", e.причина)
# Поймать ошибку неверного URL
кроме ValueError:
print ("Введите действительный URL-адрес")

Выход

Скрипт выполняется трижды на следующем снимке экрана. В первой итерации URL-адрес дается в недопустимом формате, генерируя ValueError. URL-адрес, указанный во второй итерации, не существует, генерируя ошибку URLError. Действительный URL-адрес дается на третьей итерации, и поэтому содержимое URL-адреса печатается.

Пример 6: Обработка исключений с помощью urllib.ошибка.HTTPError

Следующий сценарий показывает, как использовать HTTPError в Python через urllib.ошибка модуль. An HTMLError генерируется, когда указанный URL-адрес не существует.

#!/ usr / bin / env python3
# Импортировать необходимые модули
импортировать urllib.запрос
импортировать urllib.ошибка
 
# Принимаем любой допустимый URL
url = input ("Введите любой URL-адрес:")
# Отправить запрос на URL
request = urllib.запрос.Запрос (URL)
 
пытаться:
# Попробуйте открыть URL
urllib.запрос.urlopen (запрос)
print ("URL существует")
кроме urllib.ошибка.HTTPError как e:
# Распечатать код ошибки и причину ошибки
print ("Код ошибки:% d \ nПричина ошибки:% s"% (e.код, e.причина))

Выход

Здесь скрипт выполняется два раза. Первый URL-адрес, используемый в качестве входных данных, существует, и модуль распечатал сообщение. Второй URL-адрес, используемый в качестве входных данных, не существует, и модуль сгенерировал HTTPError.

Заключение

В этом руководстве обсуждаются многие важные применения urllib модуль, используя различные примеры, чтобы помочь читателям узнать функции этого модуля в Python.

Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...
Как увеличить FPS в Linux?
FPS означает Кадров в секунду. Задача FPS - измерить частоту кадров при воспроизведении видео или во время игры. Проще говоря, количество непрерывных ...
Лучшие игры Oculus App Lab
Если вы владелец гарнитуры Oculus, вы должны знать о загрузке неопубликованных приложений. Боковая загрузка - это процесс установки на гарнитуру содер...