Отказ от ответственности. «TrickyCases» — это серия сообщений с относительно короткими фрагментами кода, полезными в повседневной практике машинного обучения. Здесь вы можете найти то, что вы искали бы в StackOverflow через несколько дней.
Графики часто содержат ценные данные, и если вы такой фанат данных, как я, вы захотите взять эти данные домой. Одним из моих недавних открытий было то, насколько легко анализировать данные, полученные с помощью модуля HighCharts.js.
Вы можете найти код из моих постов о Web Scraping здесь в удобном для просмотра формате.
Прежде чем мы перейдем к части очистки, убедитесь, что:
- Сайт, который вы хотите очистить, не предоставляет те же данные через API. Всегда будет проще использовать программируемый интерфейс.
- По закону вам не запрещено очищать сайт.
- Вы не создаете высокую нагрузку на сайт.
Часть, где мы царапаем
Как и было обещано, очищающая часть будет относительно простой. Для практики возьмем страницу типа эта. Прокрутите вниз до графика Максимальная, минимальная и средняя температура, и вы увидите среднюю температуру в градусах Цельсия в течение каждого месяца в Брюсселе с 2009 года. Теперь откройте консоль браузера и запустите следующий скрипт:
Highcharts.charts[0].series[0].data
После некоторого изучения вы увидите, что теперь у вас есть доступ ко всем необработанным данным с графика. Более того, обладая некоторыми знаниями в области javascript, вы даже сможете аккуратно печатать данные. Хитрость для парсинга состоит в том, чтобы автоматизировать этот процесс с помощью селена и панд.
Ниже я поделюсь с вами упрощенной версией такого скрипта, чтобы вы могли уловить суть:
В этом коде:
- Вы позвоните на целевой сайт
- Подождите, пока не появится график HighCharts
- Анализировать данные со связанными функциями JS
- Сохраните его в фрейме данных и сохраните в локальной папке.
Имейте в виду, что код предполагает, что у вас уже установлен, запущен и доступен chromedriver. Вот несколько хороших руководств о том, как это сделать в различных операционных системах:
- На Ubuntu 20.04 и 18.04
- На Мако
- На ВСЛ
- *Установка на Windows так же проста, как загрузка правильного zip-файла отсюда и установка через файл .exe.
Как обычно, я открыт для любых вопросов и комментариев. Дайте мне знать, если у вас возникнут проблемы в дороге и как вы использовали скрипт в своих задачах автоматизации!