выстраивает значения в определенном порядке. Он немного похож на языки про-
граммирования и уже стал популярным способом обмена данными между разными
языками программирования и системами. Вы можете прочитать о 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, чтобы вывести на экран только название
видеоролика.
Информация о видеоролике представляет собой различные структуры данных;