Простой Python. Современный стиль программирования (Любанович) - страница 8

В примере ниже происходит подключение к сайту YouTube и получение информации о видеороликах, имеющих в данный момент самые высокие оценки. Если бы результатом была обычная веб-страница, заполненная текстом, отформатированным как HTML, было бы трудно получить всю необходимую информацию (я говорю об извлечении данных в разделе «Веб-сервисы и автоматизация» главы 9). Вместо этого пример получает данные, представленные в формате JSON, который предназначен для обработки компьютером. JSON, или JavaScript Object Notation, — это читабельный для человека текстовый формат, который описывает типы и значения, а также выстраивает значения в определенном порядке. Он немного похож на языки программирования и уже стал популярным способом обмена данными между разными языками программирования и системами. Вы можете прочитать о JSON больше в подразделе «JSON» раздела «Структурированные текстовые файлы» главы 8.

Программы, написанные на языке Python, могут преобразовывать текст формата JSON в структуры данных — их вы увидите в следующих двух главах, — как если бы вы написали программу, чтобы создавать их самостоятельно. В полученном от YouTube ответе данных очень много, поэтому в рамках этого примера я выведу названия лишь первых шести видеороликов. И вновь перед вами полноценная программа, которую вы можете запустить самостоятельно.

>import json

>from urllib.request import urlopen

>url = "https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?alt=json"

>response = urlopen(url)

>contents = response.read()

>text = contents.decode('utf8')

>data = json.loads(text)

>for video in data['feed']['entry'][0:6]:

>····print(video['title']['$t'])

Когда я запускал эту программу в последний раз, получил следующий результат:

>Evolution of Dance — By Judson Laipply

>Linkin Park — Numb

>Potter Puppet Pals: The Mysterious Ticking Noise

>"Chocolate Rain" Original Song by Tay Zonday

>Charlie bit my finger — again!

>The Mean Kitty Song

Эта небольшая программа, написанная на языке Python, делает многое с помощью всего лишь девяти строк. Если вы не знаете всех этих терминов, не волнуйтесь — вы познакомитесь с ними в следующих главах.

• Строка 1: импортируем весь код из стандартной библиотеки, которая называется json.

• Строка 2: импортируем только функцию urlopen из стандартной библиотеки urllib.

• Строка 3: присваиваем URL сайта YouTube переменной url.

• Строка 4: соединяемся с веб-сервером, расположенным по этому адресу, и запрашиваем определенный веб-сервис.

• Строка 5: получаем ответ и присваиваем его переменной contents.

• Строка 6: