Step 2 (S-102151)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24476/step/2

Step 2 (S-102151) 1.png

[00:00 - 00:15] мы рассмотрим работу слабые и на примере open вот это такой сервис который предоставляет и 5 для получения информации о погоде разных точках планеты когда мы с ним на главной странице с олимпиада данного сервиса мы увидим что они предоставляются и 5 для разного рода


[00:15 - 00:31] информацию можно получить текущую погоду можно получить предсказание погоды на 5 дней каждые 3 часа можем получить недельный предсказания погоды и так далее однако 1 что мы увидим что для того чтоб получить доступ к нам нужно получить их api ключ


[00:31 - 00:47] почти все сервисы которые предоставляют и сейчас я бы тебя и ключ для того чтобы можно было пользоваться их и 5 цены прежде всего с тем что мы должны представиться сервису узнать кто делает данный запрос и благодаря этому они могут собирать различную статистику о том кто делает запрос и в какое время нескольких регионов


[00:47 - 01:06] когда мы перейдем по данной ссылке на которой написано и t ключ мы перейдем на странице с инструкциями как его получить чтобы зарегистрироваться и получить данные и 5 ключ также свиток и далее про то что каждый запрос в котором будет делать и сердце которое предоставляется в нем необходимо указывать на


Step 2 (S-102151) 2.png

Step 2 (S-102151) 3.png

[01:06 - 01:21] ключ в качестве параметра отойди я рекомендую вам зарегистрироваться и 3 на странице с настройками вы сможете найти свой и 5 ключ на странице вы сможете найти свою взрывным свой емейл и затем вы сможете увидеть и 5 ключ который вы затем сможете


Step 2 (S-102151) 4.png

[01:21 - 01:37] пользоваться для составления запросов если по тем или иным причинам вас не возможно там зарегистрироваться или вы просто не хотите то для прохождения пример вы можете использовать например мой и 5 ключ который я когда ставлю вам в комментариях предположим что мы разобрались себя и крича мы ли будем использовать мать


Step 2 (S-102151) 5.png

[01:37 - 01:54] отлично надо вернуться к задаче а зачем с быть простая мы хотим чтобы наша программа световой стандартного вот единственный старков котором содержался город и icepeak наша программа посвящена мила формате выводил быть выше температуры в данном городе мы странице документации и 5 мы можем найти


[01:54 - 02:12] а вот меню которое называется кататься или текущее состояние погоды можно открыть документацию и 5 и найдите ссылки по которым нужно делать запрос здесь мы видим подзаголовок вайсити на некоторых начальством можем узнать информацию о текущей погоде по названию города здесь мы также видим примеры


Step 2 (S-102151) 6.png

Step 2 (S-102151) 7.png

Step 2 (S-102151) 8.png

Step 2 (S-102151) 9.png

[02:12 - 02:31] вопросы к которым можно вспомнить пошлость и протокол как не можем дождаться посылки по формату и можем после часть параметр q передать имя города который мы хотим запросить в экспериментах вкладке что мы видим прежде всего это 401 ошибкой то говорит что нам необходим авторизация


Step 2 (S-102151) 10.png

[02:31 - 02:46] здесь нужно вспомнить про то что нас просили использовать наш опеки и каждый раз когда мы делаем запрос мы указываем в качестве а пойди наша пекина просто скопировали мы исполняем данный запрос и можем заявить что нам пришел ответ формате geojson


[02:46 - 03:03] но через сделать данный запрос нашим браузере это мы точно сможем научиться делать его с помощью библиотеки и класс мы скопировать в дальний путь собственно по которой мы делаем запрос импортированный класть затем ищем генерал опираясь на наш адрес


Step 2 (S-102151) 11.png

Step 2 (S-102151) 12.png

[03:03 - 03:22] мы должны правильно сформировать словарь с параметрами нашего запрос по документации мы используем параметр q в которые мы передаем название города в котором мы запрашиваем погоду передавать его укажут в нашей стране парам с мы укажем что кью пускай пока что это будет санкт петербург


Step 2 (S-102151) 13.png

Step 2 (S-102151) 14.png

[03:22 - 03:37] и так чтобы он понял что мы должны указывать а такой параметр как обойти ее указывать него наша 5 давать в очередной раз скопировав наши 5 и мы собственно


[03:37 - 03:54] готовые сделать запрос response вы будете класть герц а л и в качестве парам парам пам это давайте выведем статус класс нашего запроса кидайте конечно же людям


[03:54 - 04:09] а какая же нам пришли данные в ответ мы выводим на экран content type скотт исполнивший 1 что мы видим то на удивление ошибку потому что он говорит что у нас неправильно играл а


[04:09 - 04:28] request нам подсказывает что мы забыли указать схему или в нашем случае протокол он тут знаю что мы сильно имели ввиду http он на самом деле прав мы конечно же хотели сделать запрос на надо если вы забыли указать протокол пойти снова исполним наш кот увидимся в том что мы смогли сделать запрос на штатовскую 200


[04:28 - 04:47] а результат который мы получили наш ресурс который мы запросили он имеет тебе же и сон хорошо раз вы смогли получить данные в формате json то мы можем использовать встроенный метод нашего объекта ответа джи сон который на самом деле не делать ничего более простого чем скармливает функции лот из библиотеки j сам


[04:47 - 05:03] атрибут текст нашла ответа и таким образом мы сможем получить словарь языка python которая соответствует ответу нашего запроса на сервер однако глядя на это словами он по прежнему не понятно где же мы каких ключах не должен достать ту самую информацию


[05:03 - 05:22] о количестве градусов в данный момент в данном месте в этом на данный вопрос можем также последовательно документация здесь мы тоже сможем увидеть параметры и 5 ом то есть ответы нашего и 5 можно выбрать формат который мы запрашивали и увидишь здесь те ключевые слова которые являются ключами в нашем словаре


Step 2 (S-102151) 15.png

Step 2 (S-102151) 16.png

[05:22 - 05:37] прочитав данное значение мы же были что у нас есть начала координаты геолокации города которые мы запросили потом какие то информация о погоде потом какой то внутренний параметр а затем наступает интересный ключ слагаемых для которых уже содержится другой словарь


[05:37 - 05:55] вот можно проверить и внутри ключа там внутри этого словаря находится та самая температуры которые мы ищем чтобы достучаться до данного значения погоды 20 сначала сохраним наш а наш словарь переменные например да ты с кем бы вывести на экран например значение


Step 2 (S-102151) 17.png

[05:55 - 06:10] нашего там вытянуло на экран убедимся что температура в данный момент в 280° документация однако указано что по умолчанию нам температуру возвращаться в терминах


Step 2 (S-102151) 18.png

[06:10 - 06:25] мы попробуем разобраться с этим потом чтобы получить температуру в цельсиях а пока давайте сформируем нашу утилиту начало просим пользователей ввести название города используя функцию импорта и указав при этом ту сторону которая будет отображаться пользователю перед вводом мы сохраним


Step 2 (S-102151) 19.png

[06:25 - 06:40] а значение данного города в переменного сетевым используете в качестве параметра кью когда мы передаем вылетает запрос наш сервис затем создадим get запрос на сервер данные которые мы получили с сервером с помощью я бросаю


[06:40 - 06:59] дата и затем выводить данные на экран использует шаблон к нам поставлять 2 значения сначала город затем температура а теперь самое приятное двойной скос запускать сначала мы конечно же спросим температура в санкт петербурге потому что то что меня интересует больше всего


[06:59 - 07:18] я кажется сегодня температура санкт петербурге 280° в кельвинах не плохо скажу я протестирую то же не 1 городе давайте проявим что результат для москвы например отличается а мы убедимся в том что в москве сейчас теплее сейчас 286° кельвина тоже неплохо давайте сделаем еще 1 запрос можем спросить например про лондон


[07:18 - 07:36] в лондоне сегодня холоднее там 276° кельвина круто мы написали за очень короткое время очень полезный утилиту которая может навести название города отобразить текущую температуру в данном городе мы не смогли это сделать если мы не воспользовались и пиарить данного сервиса


Step 2 (S-102151) 20.png

[07:36 - 07:53] однако он также остался небольшой корешок быть вы хотели вводить температуру прежде всего в цельсия решение таких вопросов как обычно а следом на документацию данного и p i и видим здесь сбоку от fitch усиливает синтез форм что отвечает за единица измерения


Step 2 (S-102151) 21.png

[07:53 - 08:09] мы сможем кликнуть на ссылку убедиться в том что можем передать единица измерения в качестве параметра нашего get запроса индикатор что можем использовать параметры юнитов с внешними метрики imperial это чтобы например получить температуру в фаренгейтах если мы передаем


[08:09 - 08:26] значение параметра и не со значением 1 или просто получить значение температуры в целях можно использовать параметр юнит со значением метрик то есть используют метрическую систему тогда здесь также приведем пример запроса в день если на передаем параметр я не со значением мячик


[08:26 - 08:41] мне ничего не стоит изменить наш кот просто добавь в него 1 ключ словарь так давайте это сделаем мы можем добавить дополнительный ключ юнец не знаю как он называется и мы знаем какое значение нам нужно нам значений количества системы то есть смерть


Step 2 (S-102151) 22.png

[08:41 - 08:57] когда мы запустим наш кот и попросим температуры например санкт петербурге мы увидим текущая температура в градусах цельсия и конечно же тоже самое будет верной для москвы метро в москве то мы также получаем + 13° цельсия


[08:57 - 09:16] таким образом за достаточно короткое время мы смогли сформировать полезную утилиту который в текущее состояние температуры в указанном нами города однако я конечно немножко схитрила быть дело в том что я знал и данного сервиса заранее я знал по какому урлу к нам придется обращаться я знал в каком словаре нужно будет найти то значение темп


[09:16 - 09:31] где же будет лежать температура однако в реалиях когда вы пишете данные сервисы именно больше всего времени вы потратили на то чтобы разобраться в чужом и 5 однако считают что именно опыт которые говорят о том чтобы разобраться в и 5 он полезный даже несколько необходимой


[09:31 - 09:39] поэтому другая вам пару задач которых вам придется разобраться в и пары сервисов для того чтобы найти там полезную информацию