Title: Импортируем цены с CMC в googlesheet Post by: temarazin on February 17, 2018, 07:16:45 PM Привет всем! Я наконец-то разобрался как перетянуть цены с CoinMarketCap в гугл таблицу.
Первым делом создаем новую таблицу в googlesheet. Нам нужно перетягивать данные в формате JSON, который гуглшит по умолчанию не поддерживает. Поэтому сначала добавим в свою таблицу скрипт. Код берем с этого репозитория (https://gist.github.com/paulgambill/cacd19da95a1421d3164) - просто копируем всё в буфер. Далее в гугл-таблице переходим в Инструменты - Редактор скриптов. Вставляем скопированный скрипт, переименовываем файл в левом столбце как на картинке. Сохраняем и возвращаемся к пустой таблице. Теперь мы можем импортировать json с помощью =ImportJSON Формат формулы следующий: =ImportJSON("url"; "столбцы"; "параметры") Я для себя остановился на такой формуле Code: =ImportJSON("https://api.coinmarketcap.com/v1/ticker/ethereum/"; "/name,/symbol,/price_usd,/percent_change_24h,/percent_change_7d"; "noHeaders") https://api.coinmarketcap.com/v1/ticker/ethereum/ - вместо ethereum подставляем нужный id валюты. Чтобы его узнать, перейдите на страницу необходимой валюты на сайте CMC - он будет виден в url. Например, у BCH путь выглядит так: https://coinmarketcap.com/currencies/bitcoin-cash/, значит id у него: bitcoin-cash "/name,/symbol,/price_usd,/percent_change_24h,/percent_change_7d" тут перечислены выводимые столбцы по такому синтаксису "/имя_столбца1,/имя_столбца2" Все столбцы можно посмотреть здесь (https://api.coinmarketcap.com/v1/ticker/bitcoin/) "noHeaders" - параметр, который убирает названия столбцов. Я их убрал, потому что столбцы назвал сам. Ну и для тех, кто не хочет заморачиваться, я выложу таблицу с готовым примером (https://docs.google.com/spreadsheets/d/109edRJ2jioMN2df8YjK7X1ZTDaC26pJy-6bxUSvKcDQ/edit?usp=sharing). Нажмите файл - создать копию, чтобы перетянуть её себе. Все изменения вносите в столбце А - просто меняете id валюты и у вас подгрузится нужная монета. Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on May 08, 2019, 01:12:35 PM Обновлю информацию в связи с новом Pro-API на CoinMarketCap. Пока не буду затрагивать как сделать триггер для автообновление и т.д. Все что нужно знать, что после как загрузите двух скриптах (File: New / Script file, Rename, Save all), нужно нажать на JSONLOAD.gs (окно активное) и потом сверху на плей-иконку (срипт закончит с ошибка из за нулевых параметров, но не важно) – откроется окно для авторизации скрипта (чтобы скрипт смог менять таблицу). В этом окне выбираете ваш аккаунт, а потом внизу слева с мельком шрифте Advanced и появится еще внизу Go to <имя скрипта> (unsafe), и в конечное окно подтверждаете. Все!
Замечания: В ваш гугл профил в раздел безопасности надо/сможете подтвердить/удалить статус доступа, иначе в страница поиска внизу будет иконка с предупреждение о безопасности аккаунта (доступ третья сторона). Все будет работать хорошо и без этого (информативно пояснил). Также смотрите в почту – иногда приходят оповещения об ошибки скрипта (более часто, если прикрутите триггер для автоматизации). ImportJSON.gs – https://github.com/bradjasper/ImportJSON (это оригинальный проект) ImportJSON-git852565b-patched.gs – https://drive.google.com/open?id=10Xfg4sggU7POQi9GsGyeiehhW8Hz-PgY Code: (ImportJSON-git852565b.patch) --- ImportJSON-git852565b.gs 2019-05-08 17:28:29.737736133 +0300 Пач нужен из за оформление JSON-а который возвращает CoinMarketCap – ячейки с стоимости null. Из за них колонки начинающих с пустая ячейка не отображается. Что-то в этом духе (исправлял год назад и не помню), но добавление "value != null" в проверку на 380 строка решает проблема и все верно отображается в таблицу. Code: (JSONLOAD-20190909.gs) // REQUIRE: https://github.com/bradjasper/ImportJSON Help информацию для функцию JSONLOAD не обновлял, но годится... Если будете использовать скрипта для доступ к биржи, то надо удалить строкой с параметром X-CMC_PRO_API_KEY и эвентуально поменять верхней с Cache-Control (сейчас там поставлен кешь на 5 мин * 60 сек = 300 сек). LockService нужен тогда, когда делаете много запросов в одной таблице и они будут исполняются в очереди, а не все сразу в один момент. https://i.ibb.co/cCXDWHn/Screenshot-from-2019-05-12-18-40-17.png (https://ibb.co/8d46ypZ) https://i.ibb.co/M9jtK5F/Screenshot-from-2019-05-12-18-12-47.png (https://ibb.co/wYbP8r5) https://i.ibb.co/7XCJ88Z/Screenshot-from-2019-05-12-18-12-53.png (https://ibb.co/ZVX6ttF) https://i.ibb.co/029z0Hy/Screenshot-from-2019-05-12-18-02-41.png (https://ibb.co/DWMjB0f) https://i.ibb.co/2ZbwwKW/Screenshot-from-2019-05-12-18-06-35.png (https://ibb.co/NT4XXYt) https://i.ibb.co/1rbvN6d/Screenshot-from-2019-05-12-18-21-31.png (https://ibb.co/Lxvky5J) https://i.ibb.co/WPZM0x1/Screenshot-from-2019-05-12-18-24-29.png (https://ibb.co/61zT8n5) https://i.ibb.co/s24ZQSD/Screenshot-from-2019-05-12-18-24-53.png (https://ibb.co/nbyFf2V) https://i.ibb.co/r2t9ygX/Screenshot-from-2019-05-12-18-25-36.png (https://ibb.co/7tzhyH0) https://i.ibb.co/gwMt0Jf/Screenshot-from-2019-05-12-18-35-09.png (https://ibb.co/y5ngzqZ) Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on May 11, 2019, 12:00:58 PM Дополнение: иконки и графики
Code: (Пример: ID=1027 – Ethereum) =image("https://s2.coinmarketcap.com/static/img/coins/16x16/1027.png",3) Также можно менять 16x16 на 32, 64 и 128, а для графики 7d примерно на 30d, но не проверял верен ли он. https://i.ibb.co/0Bh8GPD/Screenshot-from-2019-05-14-13-24-36.png (https://ibb.co/vsZgj2w) https://i.ibb.co/x3nQ32S/Screenshot-from-2019-05-14-13-20-37.png (https://ibb.co/HXcQXKD) Code: (Формат объема и капитализации в миллионах) "$"#,##0.000,,"M" Title: Re: Импортируем цены с CMC в googlesheet Post by: melomanskiy on May 23, 2019, 07:51:32 PM Довольно интересная штука, автору пришлось видимо заморочиться с кодами) Тут конечно он молодец. Но у меня, как у хомяка, возник вопрос, для какой цели делать такой документ? Меня устраивают готовые сервисы наподобии блокфолио.
Title: Re: Импортируем цены с CMC в googlesheet Post by: btcleks on May 24, 2019, 01:43:48 PM Ну мало ли зачем может понадобится, например чтобы потом чтото воротить аналитическое по этим данным. Начинание одобряю.
Title: Re: Импортируем цены с CMC в googlesheet Post by: melomanskiy on May 31, 2019, 08:25:37 PM Ну мало ли зачем может понадобится, например чтобы потом чтото воротить аналитическое по этим данным. Начинание одобряю. Согласен. Уверен, что эта инфа будет полезна знатным криптовалютным любителям. Возможно в будущем данная вещь перерастет в что-то более масштабное и приобретет свою популярность среди криптоманов) Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on June 04, 2019, 06:36:44 AM Добавлю простой метод как вручную обновлять данные. Примерно в ячейка A1 ставим Menu: Insert / Checkbox и через него запускаем перезагрузку (в A2 до A16 находится ID по каждую монету сортировано):
Code: (ячейка B2) =transpose( Title: Re: Импортируем цены с CMC в googlesheet Post by: Andrey123 on June 04, 2019, 09:39:10 AM Ничего личного, но проку от этого ноль....
На СМС очень часто данные не верны. Если где-то был памп, и биржа у монеты перечислена, то сайт нифига не покажет этого....часто это замечал. Да и бывает монета торгуется, а на сайте этой биржи нет и в помине. Ну и анализировать поведение цен у крипты всей, занятие очень бесполезное....говорю как валютный трейдер со стажем. На крипте только хаос и везение ;) Title: Re: Импортируем цены с CMC в googlesheet Post by: thefever333 on September 04, 2019, 09:12:50 AM Ничего личного, но проку от этого ноль.... На СМС очень часто данные не верны. Если где-то был памп, и биржа у монеты перечислена, то сайт нифига не покажет этого....часто это замечал. Да и бывает монета торгуется, а на сайте этой биржи нет и в помине. Ну и анализировать поведение цен у крипты всей, занятие очень бесполезное....говорю как валютный трейдер со стажем. На крипте только хаос и везение ;) Просто сайту нужно какое-то время, чтобы все данные проанализировать, если памп будет, то и там через какое-то время покажет ) Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on September 08, 2019, 09:22:19 PM Code: (JSONLOAD-20190909.gs) // REQUIRE: https://github.com/bradjasper/ImportJSON В связи с ограничение о запросах в минуту к API... PS: Также исправил кое что по кешь контроля (public на private или на no-cache можно менят если нужно). Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on September 09, 2019, 09:23:16 PM Ничего личного, но проку от этого ноль.... На СМС очень часто данные не верны. Если где-то был памп, и биржа у монеты перечислена, то сайт нифига не покажет этого....часто это замечал. Да и бывает монета торгуется, а на сайте этой биржи нет и в помине. Ну и анализировать поведение цен у крипты всей, занятие очень бесполезное....говорю как валютный трейдер со стажем. На крипте только хаос и везение ;) Не ограничивай свою фантазию только с CoinMarketCap. Вот пример с Waves DEX биржу: https://docs.google.com/spreadsheets/d/1_7EZO-70pH5E1PrYyKvwx_5ZwWwYoT-NsHSSADRmBqQ/edit?usp=sharing ... а что нужно анализировать и на чем смотреть это другое дело – тут каждому по заслугам. 8) PS: Вот прямо с блокчейна скачиваю наличности "аир-дров" и слежу на бирже какая текущая цена и количество на покупки и смогу ли продать их с прибыли. https://i.ibb.co/stwJ5jv/Screenshot-2019-9-10.png (https://ibb.co/QXNj89F) Title: Re: Импортируем цены с CMC в googlesheet Post by: Fartovy on September 13, 2019, 08:14:25 AM Круто. А можно как-то стягивать эти цены и вставлять на свой сайт? Не все, а главные - эфир, биток, рипл и т.д.
Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on February 10, 2020, 01:41:59 PM Сделал все на библиотеку. Сверху из меню в скриптами можно вставлять ее. В девелопмент версию добавил и функция parse для прямая обработка JSON объектов.
Script ID: 1moswqalWyN_ahYkjdP-lhBxy4tjHk_-E5RZC3Nfdcyrg77uOQ2xfpVS2 https://script.google.com/d/1moswqalWyN_ahYkjdP-lhBxy4tjHk_-E5RZC3Nfdcyrg77uOQ2xfpVS2/edit?usp=sharing https://i.ibb.co/KjLSM1Z/Google-Script-Libraries.png (https://ibb.co/rGcNCWP) Функция для таблицу примерно такая: Code: var scriptProperties = PropertiesService.getScriptProperties(); Title: Re: Импортируем цены с CMC в googlesheet Post by: Kzc_support on March 07, 2020, 03:00:11 AM Доброе время суток !
Как можно получить информацию только по определенной паре и из определенной биржи ? Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on March 07, 2020, 06:51:55 AM Как можно получить информацию только по определенной паре и из определенной биржи ? Делаешь запрос к АПИ определенной бирже и по определенной паре. Каков вопрос – такой и ответ... Title: Re: Импортируем цены с CMC в googlesheet Post by: Kzc_support on March 23, 2020, 11:09:31 PM В бесплатном аккаунте это недоступно оказывается.
Title: Re: Импортируем цены с CMC в googlesheet Post by: JohnSilver on March 25, 2020, 09:49:12 AM В бесплатном аккаунте это недоступно оказывается. Делай запрос прямо к АПИ конкретной бирже... |