Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 18

ный для человека текстовый формат, который описывает типы и значения, а также

выстраивает значения в определенном порядке. Он немного похож на языки про-

граммирования и уже стал популярным способом обмена данными между разными

языками программирования и системами. Вы можете прочитать о 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'])

32

Глава 1. Python: с чем его едят

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

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: дешифруем содержимое переменной contents в текстовую строку

формата JSON и присваиваем ее переменной text.

 Строка 7: преобразуем переменную text в data — структуру данных языка Python,

предназначенную для работы с видео.

 Строка 8: получаем информацию для одного видеоролика единовременно в пе-

ременную video.

 Строка 9: используем двухуровневый словарь (data['feed']['entry']) и функцию

slice([0:6]).

 Строка 10: используем функцию print, чтобы вывести на экран только название

видеоролика.

Информация о видеоролике представляет собой различные структуры данных;