Доброго времени суток! Прошу помочь со следующим вопросом: С помощью Power Query попытался импортировать таблицу с данными погоды по часам с сайта, но не получается
Lari, можете связаться с администрацией ресурса на предмет наличия у них API получения от них информации автоматизированными средствами по запросу. Но если такое у них есть, то вряд ли это бесплатно.
Вроде VBA справляется. Только отсортировать нужное.
Код
Sub WunderHrunder()
Dim XMLHTTP As Object
Dim Myurl$, Txt$
Myurl = "https://api.weather.com/v1/location/USSS:9:RU/observations/historical.json?apiKey=6532d6454b8aa370768e63d6ba5a832e&units=e&startDate=20181120"
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
XMLHTTP.Open "GET", Replace(Myurl, "\", "/"), False
XMLHTTP.send
If XMLHTTP.statustext = "OK" Then
Txt = XMLHTTP.responseText
Debug.Print Txt
Else
MsgBox "Отсутствует соединение..."
End If
Set XMLHTTP = Nothing
End Sub
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. А в том, чтобы писать программы, работающие при любом количестве ошибок.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. А в том, чтобы писать программы, работающие при любом количестве ошибок.
PooHkrd, табличку загрузил, градусы кажется по фаренгейту , а со временем не разобрался, когда в PQ меняю формат, выдает ошибку. В excel тоже менял формат, не помогло. в гугле тоже не расшифровал. Если с этим сайтом так криво получается может стоить мне поискать сайт с менее сложными скриптами, т.к. эта таблица значительно отличается от той что я приложил в начале этой темы.
PooHkrd, artyrH, большое спасибо за помощь и уделенное время. Узнал для себя новое. Но если не затруднит, не могли бы вы немного объяснить магию из сообщения #10 PooHkrd
Там ловкость рук и никакого мошенства. Для начала товарищ Alemox в своем макросе показал с какого сайта ваш сайт реально берет данные для заполнения таблицы, которую вы хотели с него утащить. Как он вытащил параметры строки запроса не знаю, из кода страницы я видел что по факту погода берется с api.weather.com но как составить запрос не нашел - опыта мало. Главным неизвестным параметром для запроса является token который формирует сайт wunderground чтобы получить данные с погоды.ком. Этот токен является ключом, который действует ограниченное время, и постоянно тащить с погоды.ком данные по одному и тому же ключу не получится. Поэтому в первом шаге мы получаем из кода страницы актуальный на данный момент токен, потом подсовываем его погоде.ком, та думает что это к ней лезет wunderground и отдает в ответе таблицу в формате JSON, дальше мы этот ответ расшифровываем и собираем в таблицу.
artyrH,нет, я итоговый код не делал и не смог бы сделать. Большое спасибо за конечный код. PooHkrd, в сообщении #10 в строке 2 я так понял что токен всегда обрамлен слева "SUN_API_KEY&q;:&q;" и справа "&q;,&q;SUN_DEVICE_API_KEY". я проверил на других датах, везде так обрамляется. Как вы получаете в строке 3 то что слева и справа от токена, я не понял. Или вы это взяли по аналогии из макроса из #5 ?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. А в том, чтобы писать программы, работающие при любом количестве ошибок.
Заметил закономерность, что в нетворке нужно найти строчку , начинающуюся с historical. Возможно ли автоматизировать вход на страничку, вход в нетворк, поиск historical, проход по ссылке и копирование данных?