Скрапинг данных с интерактивной диаграммы

Я пытаюсь получить данные, которые генерируют диаграмму в javascript на этой странице:

https://www.energy-charts.de/price.htm

Я нашел элементы SVG, которые рисуют линии с их элементами M и L, но я не знаю, с чего начать поиск массива javascript, который содержит фактические данные. (Я предполагаю, что где-то должен быть массив).

Я благодарен за любые советы и подсказки, где мне нужно начать искать эти данные.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
1
0
1 602
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Краткий ответ

Данные хранятся в файле JSON по адресу https://www.energy-charts.de/price/week_2019_21.json.


Длинный ответ

Если вы откроете инструменты разработчика (F12), вы увидите множество console.logs из файла price.js. Большинство из них бесполезны, но строчка got chartTitle from JSON! _chartTitle: Electricity production and spot prices in Germany in week 21 2019, похоже, может нам пригодиться.

Открыв price.js и выполнив поиск «got chartTitle», я нашел функцию с именем createChart, которая, по-видимому, загружает файлы JSON. Я предполагаю, что они будут возвращены из какого-то API, а не сохранены непосредственно в файлах JS.

Прокрутив вверх от «got chartTitle», я заметил эту строку: d3.json(filepath, function(error, json) {. Для меня это загрузка JSON из пути к файлу. В поисках «filepath» я обнаружил, что он объявлен как глобальная переменная. Введя это в консоль javascript, я вижу, что значение равно «./price/week_2019_21.json», поэтому переход по этому URL-адресу (https://www.energy-charts.de/price/week_2019_21.json) должен быть теми данными, которые вы ищете!

Этот URL вычисляется в следующем блоке кода:

if(defaultweek < 10){
  filepath = "./price/week_" + defaultyear +"_0"+ defaultweek +".json"; //default file on first-load
}
else{
  filepath = "./price/week_" + defaultyear +"_"+ defaultweek +".json"; //default file on first-load
}

Значения по умолчанию установлены в energy-charts_default.js.

Надеюсь это поможет!

Хорошо объясненный ответ там +

QHarr 22.05.2019 15:11

Другие вопросы по теме