Парсить график

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Столкнулся с задачей - нужно получить стоимость криптовалюты в определенную минуту. сайт https://coinmarketcap.com/currencies/ethereum/ Предположим что нужно узнать сколько стоила криптовалюта в 12.00. Эту информацию можно найти только на графике... А как эту информацию можно спарсить ? Помогите кто в этом разбирается ?
 

Boo

Client
Регистрация
19.09.2011
Сообщения
33
Благодарностей
14
Баллы
8
Проще получить фришный АПИ кей
coinmarketcap.com/api/pricing
и забирать по апи все что тебя интересует.
Не хватит 10к запросов в месяц, получай еще ключи)
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Проще получить фришный АПИ кей
coinmarketcap.com/api/pricing
и забирать по апи все что тебя интересует.
Не хватит 10к запросов в месяц, получай еще ключи)
бесплатный апи не дает исторических данных. А мне именно это и нужно. Парсить данные за предыдущие месяцы, годы
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Кто понимает как можно парсить график ?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Кто понимает как можно парсить график ?
Решение в лоб, без анализа скриптов - эмуляцией мыши менять координату x и считывать все значения в Price.
Но скорее всего в canvas есть массив нужных данных. Он же как-то отрисовывается. Надо просто покопаться в сорсах.
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Решение в лоб, без анализа скриптов - эмуляцией мыши менять координату x и считывать все значения в Price.
Но скорее всего в canvas есть массив нужных данных. Он же как-то отрисовывается. Надо просто покопаться в сорсах.
Решение в лоб действительно может сработать.

Видимо что-то я не так делаю... а в canvas вообще ничего не вижу...
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Есть ли идеи как это сделать более правильно ? Без движения мышкой попиксельно ?
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 697
Благодарностей
940
Баллы
113
А мне именно это и нужно. Парсить данные за предыдущие месяцы, годы
а есть возможность заранее составить план что вам надо, пройтись по нужным периодам и спарсить данные в отдельную базу и дальше брать уже данные оттуда? т.е. например пройтись по статистике за каждый день и т.д. а дальше уже выводить красивые графики и обобщенную статистику через какой нибудь круд?
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
а есть возможность заранее составить план что вам надо, пройтись по нужным периодам и спарсить данные в отдельную базу и дальше брать уже данные оттуда?
Так вопрос и состоит в том как спарсить информацию с графика.
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Посмотри на эти json'ы. По ощущениям, там где-то данные, на основании которых он генерит график.
82375


Точнее, судя по всему, даже в этом:
82376


Справа в названии Object - timestamp точно. Осталось только разобрать данные.

Update: Ссылка - https://api.coinmarketcap.com/data-api/v3/cryptocurrency/detail/chart?id=1027&range=1D
Да, судя по всему, в JSON как раз курс к доллару в поле "0". Под 2 - MarketCap USD. 3 - цена в BTC, 4 - MarketCap BTC. Под 1- Vol24h (не сразу обратил внимание, что в JSON новые данные в конце).
Если в ссылке 1D заменить на 7D, будут данные за неделю, судя по всему.
Данные в JSON за каждые 5 минут.

Update2: А здесь у них, видимо, прогнозы: https://api.coinmarketcap.com/data-api/v3/price-prediction/query/half-year?cryptoId=1027
 
Последнее редактирование:
  • Спасибо
Реакции: Deisler

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Посмотри на эти json'ы. По ощущениям, там где-то данные, на основании которых он генерит график.
Посмотреть вложение 82375

Точнее, судя по всему, даже в этом:
Посмотреть вложение 82376

Справа в названии Object - timestamp точно. Осталось только разобрать данные.

Update: Ссылка - https://api.coinmarketcap.com/data-api/v3/cryptocurrency/detail/chart?id=1027&range=1D
Да, судя по всему, в JSON как раз курс к доллару в поле "0". Под 2 - MarketCap USD. 3 - цена в BTC, 4 - MarketCap BTC. Под 1- Vol24h (не сразу обратил внимание, что в JSON новые данные в конце).
Если в ссылке 1D заменить на 7D, будут данные за неделю, судя по всему.
Данные в JSON за каждые 5 минут.

Update2: А здесь у них, видимо, прогнозы: https://api.coinmarketcap.com/data-api/v3/price-prediction/query/half-year?cryptoId=1027
Спасибо ) за подсказку. Покопаю в этом направлении )
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Проще парсить и хранить данные. Потом уже по своей базе делать нужную выборку.

Up. Если с JSON не выгорит, но судя по всему там есть нужные ТСу данные.
 
Последнее редактирование:

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Проще парсить и хранить данные. Потом уже по своей базе делать нужную выборку.

Up. Если с JSON не выгорит, но судя по всему там есть нужные ТСу данные.
Вопрос не в том заранее парсить или в режиме реального времени. Вопрос в там как эти данные спарсить ? )

Что такое ТСу данные ?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Вопрос не в том заранее парсить или в режиме реального времени. Вопрос в там как эти данные спарсить ? )

Что такое ТСу данные ?
Так в чем проблема-то сейчас?
Вот уже прямая ссылка на JSON с данными - https://api.coinmarketcap.com/data-api/v3/cryptocurrency/detail/chart?id=1027&range=1D
Здесь есть ВСЕ точки за сутки.
82422

В каждой "точке" - все курсы. В заголовке - время в UnixTime.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

top.razrab

Client
Регистрация
05.09.2017
Сообщения
67
Благодарностей
16
Баллы
8
  • Спасибо
Реакции: Deisler и Moonwalker

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Теперь из этих координат получать значение чтоль?
Из каких координат? Разбираем JSON, ищем нужно время, берем данные.
PS. Выше еще лучше вариант предложили, если надо просто курс вытащить на опреденную минуту, а не в целом массив. Но я бы все-таки дергал к себе все, а потом уже обрабатывал, чем по каждому чиху их апи дергать.
 
  • Спасибо
Реакции: Deisler

inilim

Client
Регистрация
16.09.2017
Сообщения
446
Благодарностей
170
Баллы
43
Все данные открыты.
UPD. А уже все и так нашли(
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Deisler

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Нету ничего сложного. На графике цены с интервалом 5 мин.
Конвертируй время в Unix, к примеру - 1613033724
В ссылке указывай так - range=1613033724 (минус 240) ~1613033724 (плюс 240)
Вообще не знал что такое время unix. Спасибо
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)