Рубрики
Без рубрики

Python urllib: Полная ссылка

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

Автор оригинала: Pankaj Kumar.

Всем привет и добро пожаловать в еще одну учебную статью по Python 3. В этой статье мы обсуждаем библиотеку urllib Python, которая является частью стандартных библиотечных модулей.

Идея Python urllib заключается в том, что он позволяет вам делать всевозможные удивительные вещи, которые позволяет Интернет с помощью простого программирования.

Итак, с этим давайте начнем.

содержание

  • Импорт urllib Python
  • Доступ к веб-сайту с помощью модуля Python urllib
    • 1. ПОЛУЧИТЬ запрос на доступ к веб-сайту
    • 2. Разместите запрос на доступ к веб-сайту
  • Вывод

Импорт urllib Python

Первое, что вам нужно будет сделать, это импортировать URLlib.

Теперь, если вы исходите из python 2.7, вы привыкли просто импортировать urllib, и все.

import urllib

В то время как с Python 3 и далее вам придется импортировать пакет запроса из urllib.

import urllib.request

Доступ к веб-сайту с помощью модуля Python urllib

Таким образом, пример посещения веб-сайта будет следующим.

1. ПОЛУЧИТЬ запрос на доступ к веб-сайту

x = urllib.request.urlopen('https://www.google.com')

Мы определим переменную x, вызовем метод urlopen и укажем URL-адрес веб-сайта.

Теперь это будет служить HTTP-запросом GET для получения данных из URL-адреса. Мы будем использовать read() для получения данных.

print(x.read())

Приведенный выше фрагмент кода возвращает исходный код страницы google.com. Он возвращает все содержимое страницы, такое как html-теги и атрибуты стиля на консоли python.

Однако, как пользователь, вы можете не быть заинтересованы в получении исходного кода страницы и требовать только текстовые данные.

Вывод Запроса На Получение

Как обычный пользователь, вы перейдете в строку поиска на таких сайтах, как python.org и укажите контент, который вы хотите найти, и нажмите кнопку отправить.

Вы заметили, что URL-адрес в адресной строке меняется на URL-адрес, показанный ниже. Этот URL-адрес содержит некоторые ? и &, которые являются параметрами запроса.

https://www.python.org/search/?q=urllib&submit=

Для вашего дальнейшего понимания, то ? и & – это поисковые запросы, которые вы предоставляете в строке поиска, и они публикуются по URL-адресу. Вы можете сделать запрос POST на этот URL-адрес, чтобы получить содержимое. Но что, если вам придется опубликовать его из python?

2. Разместите запрос на доступ к веб-сайту

Помимо модуля запроса, мы также импортируем модуль синтаксического анализа, так как это поможет нам проанализировать значения в нашем запросе.

import urllib.request as rq
import urllib.parse as ps

Чтобы лучше понять запрос post, мы будем использовать python.org веб-сайт. Мы определим словарь, и в нем будут ключи, являющиеся “параметрами поиска”, а значения будут ключевыми словами.

url='https://www.python.org/search/'
dictionary = { 'q': 'urllib' }

data = ps.urlencode(dictionary)
data = data.encode('utf-8')

req = rq.Request(url,data)
res = rq.urlopen(req)

print(res.read())

После указания параметров URL важно понимать, что во всемирной паутине используется стандартная кодировка utf-8. Поэтому мы преобразуем наш URL-адрес в закодированный контент.

Затем мы передадим наш URL-адрес и закодированные данные в объект req и выдадим запрос и urlopen на это. Ответ для urlopen хранится в объекте res.

Изображение 18

Это связано с тем, что веб-сайт, который мы разместили здесь, не предоставляет нам доступ к их контенту без использования API. Мы можем использовать RESTFUL API или некоторые другие заголовки для извлечения данных. Мы не будем обсуждать это в этой статье.

Мы по – прежнему получаем всю веб-страницу, включая все HTML-теги, в консоль python.

Вывод

Надеюсь, вы поняли, как выдавать запросы HTTP GET и HTTP POST браузеру и сайтам с использованием python. Пожалуйста, сообщите нам о своих отзывах в разделе комментариев, а также упомяните любые другие темы, которые вы хотели бы прочитать.