Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - cmd скрипт получения ежеминутных данных в json

Ответить
Настройки темы
CMD/BAT - cmd скрипт получения ежеминутных данных в json

Старожил


Сообщения: 292
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Подскажите, пожалуйста, как написать cmd скрипт, который с этого сайта берет данные?
https://api.coindesk.com/v1/bpi/currentprice/USD.json
Код: Выделить весь код
{"time":{"updated":"Sep 16, 2018 09:31:00 UTC","updatedISO":"2018-09-16T09:31:00+00:00","updateduk":"Sep 16, 2018 at 10:31 BST"},"disclaimer"
:"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","bpi":
{"USD":{"code":"USD","rate":"6,487.3100","description":"United States Dollar","rate_float":6487.31}}}
Тут показано как изменяется курс BTC/USD по- минутно. Когда вы откроете ссылку у вас уже будет другая информация, не как у меня, а в то время (ту минуту)как вы открыли. Информация обновляется каждую минуту
Как создать bat скрипт, который регулярно каждую минуту, заходит сюда https://api.coindesk.com/v1/bpi/currentprice/

т.е. на выходе должна быть папка
C:/myfolder
а в ней jsonc примерно такой маркировки
16.09.2018 11:35. json
через минуту зашел
16.09.2018 11:36.json
через минуту зашел
16.09.2018 11:37.json
...

Отправлено: 15:11, 16-09-2018

 

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


если временнАя точность не важна и плевать на нагрузку на процессор, то запуск (json ясное дело, bat все время запущен) каждую минуту в течение часа:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
 for /l %%a in (1 1 60) do (
  >nul ping -n 61 127.0.0.1
  >>file.txt (echo !date!_!time:~,8!& echo Запуск json с выводом в файл& echo:)
 )
endlocal
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:35, 16-09-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 292
Благодарности: 0

Профиль | Отправить PM | Цитировать


alpap,
а где в скрипте путь к https://api.coindesk.com/v1/bpi/currentprice/

json ясное дело, bat все время запущен
поясните, что значит это фраза? Как это все время запущен? Он сам себя все время запускает, или я на него должен кликать?

Отправлено: 12:24, 17-09-2018 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата kontox:
а где в скрипте путь к https://api.coindesk.com/v1/bpi/currentprice/ »
Пока нигде. Вы же не указали, чем Вы будете брать — wget, curl, або ещё чем.

Цитата kontox:
что значит это фраза? Как это все время запущен? »
Цитата alpap:
каждую минуту в течение часа:
Код: Выделить весь код
 for /l %%a in (1 1 60) do (
  >nul ping -n 61 127.0.0.1
…
»
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:32, 17-09-2018 | #4


Старожил


Сообщения: 292
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, я хотел брать методом сURL. Как это сделать?

Отправлено: 18:21, 17-09-2018 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Например, таким:
Код: Выделить весь код
for /f "usebackq delims=" %%i in (`2^>nul "C:\Program Files (x86)\curl\curl.exe" --url "https://api.coindesk.com/v1/bpi/currentprice/USD.json"`) do echo %%i

Отправлено: 02:24, 18-09-2018 | #6


Старожил


Сообщения: 245
Благодарности: 49

Профиль | Отправить PM | Цитировать


@iska по моему если вы использете уже curl
https://curl.haxx.se/dlwiz/?type=bin

почему не предлагаете и jq ??
https://stedolan.github.io/jq/download/

https://stedolan.github.io/jq/manual/

например

Код: Выделить весь код
 curl -# -k https://api.coindesk.com/v1/bpi/currentprice/USD.json -o - | /c/tools/jq-win64.exe  '.bpi[] | select(.code == "USD")|.rate_float'
##############
6246.2438
- это было запущено из git bash msys console

Последний раз редактировалось Serguei Kouzmine, 18-09-2018 в 06:34.


Отправлено: 05:58, 18-09-2018 | #7


Старожил


Сообщения: 245
Благодарности: 49

Профиль | Отправить PM | Цитировать


да, в cmd пример будет в двойных кавычках а в аргументах надо будет ее экранировать например
Код: Выделить весь код
c:\tools\curl.exe  -o - -# -k https://api.github.com/repos/mozilla/geckodriver/releases | /c/tools/jq-win64.exe '.[] | .assets[] |select(.name | match(\"^geckodriver.*\")) | .name,.url,.browser_download_url'
даст
Код: Выделить весь код
"geckodriver-v0.8.0-win32.zip"
"https://api.github.com/repos/mozilla/geckodriver/releases/assets/1820334"
"https://github.com/mozilla/geckodriver/releases/download/v0.8.0/geckodriver-v0.
8.0-win32.zip"

Отправлено: 06:33, 18-09-2018 | #8


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Serguei Kouzmine, curl штатно идёт с современной виндой
ну и вообще - это всё костыли. Есть WSH и PoSh

Отправлено: 10:49, 18-09-2018 | #9


Старожил


Сообщения: 292
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, Serguei Kouzmine, а можете показать, как в полной версии будет выглядеть cmd скрипт, готовый для работы?
т.е.
for /f "usebackq delims=" %%i in (`2^>nul "C:\Program Files (x86)\curl\curl.exe" --url "https://api.coindesk.com/v1/bpi/currentprice/USD.json"`) do echo %%i

и

@echo off
setlocal enabledelayedexpansion
for /l %%a in (1 1 60) do (
>nul ping -n 61 127.0.0.1
>>file.txt (echo !date!_!time:~,8!& echo Запуск json с выводом в файл& echo
)
endlocal
pause

как их объединить

Отправлено: 12:34, 18-09-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - cmd скрипт получения ежеминутных данных в json

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] CMD/BAT - Скрипт, который считывает количество данных из разных таблиц Excel romfus Скриптовые языки администрирования Windows 17 21-04-2018 15:56
VBS/WSH/JS - Получения значения из JSON-страницы посредством VBScript The_Immortal Скриптовые языки администрирования Windows 2 10-02-2018 23:59
Любой язык - JSON: settings.json в Visual Studio Code прокси jkadaba Скриптовые языки администрирования Windows 0 14-04-2017 08:10
CMD/BAT - [решено] написать скрипт cmd используя cmd оператор for Den Скриптовые языки администрирования Windows 6 29-03-2012 09:48
Помогите найти скрипт для получения сигнала azot111 Вебмастеру 5 15-06-2011 06:39




 
Переход