3 мин.

Бета-версия

Приветствую!

Давно были мысли каким-либо образом консолидировать, так сказать, статистику с сайта КХЛ в каком-либо, более удобном для восприятия и анализа, виде, нежели, собственно, исходник. В идеале бы это выглядело аналогично программе, посвященной горячо любимому в здешних краях биатлону - http://www.runshoot.ru/ (биатлон смотрят одни домохозяйки, ага :) ). Но я, учитывая свои скиллы, пока не готов делать столь продвинутую вещь, но суть будет, в общем, та же самая. 

Общее описание

Собственно, бета-версия: http://rusfolder.com/33901507.

«Программа» состоит из двух файлов: «Статистика.xlsm» и «khl.accdb» (который, после распаковки, занимает, внезапно, ~400Мб). Добавление новых данных и отображение статистики происходит с помощью файла "Статистика.xlsm", поэтому, вполне возможно, при использовании ни разу даже не придется заглядывать в файл "khl.accdb". 

Принцип добавления данных: программа открывает протоколы на сайте khl.ru и вытаскивает из нее нужные значения. В моем случае это:

  • Полное название матча

  • Названия команд-участников

  • Судьи

  • Составы команд на матч

  • Информация по заброшенным шайбам (кто был на площадке во время гола + авторы голов/передач)

Оговорюсь сразу - ошибки в протоколах попадаются (но достаточно редко, чтобы на это можно было закрыть глаза). Например, Радулов из-за этого недосчитался трех очков в прошлом регулярном сезоне. Единичные ошибки я находил, но принципиально не правил (это было бы, в некотором роде, нечестно по отношению к остальным игрокам :) ).

Обновление данных

Обновление данных можно выполнять самостоятельно, пока лавочку не прикрыли :). Для этого используется лист, внезапно, "Обновление данных". 

Параметры ID сезона и ID первого матча задаются один раз за сезон. Протоколы матчей представляют собой интернет-страницы с определенным, формализованным адресом, например: http://www.khl.ru/report/222/?idgame=34850 . В данном случае "222" будет повторяться для всех протоколов в будущем в течение всего сезона, а 34850 - идентификатор конкретного матча. И тогда, когда начнется следующий сезон (если быть точнее, плейофф этого сезона), можно будет задать оба параметра для дальнейшего обновления.

Но в данный момент эти параметры использовать не требуется, поэтому смело нажимаем кнопку. Появится сообщение, которое спрашивает ID последнего матча. Его можно узнать, просто открыв онлайн матча на сайте КХЛ из ссылки вида http://online.khl.ru/online/34850.html . Замечу, что все это может просто не заработать из-за определенных настроек Excel.

Просмотр статистики

На данный момент, в файле существует два вида статистики, скомпонованных в нескольких вариантах:

  • статистика отдельных игроков (имеется только по полевым игрокам)

  • статистика различных связок игроков

Статистика отдельных игроков

Распределена на несколько листов, отдельно остановлюсь на двух из них:

Статистика игроков

Дополнительная информация:

  • Разделен показатель "Голевые передачи" на "Первая передача" и "Вторая передача"

  • Разделен показатель "+/-" отдельно на "+" и "-"

  • Рассчитан показатель "Очки за игру", "Голы за игру", "+/-" за игру

  • Добавлены показатели " На площадке (забитые/пропущенные голы)"

  • Добавлены показатели "+*" и "-*" - за основу расчета в которых берутся любые ситуации на площадке (то есть, например, забитые голы в большинстве как "+")

Для установки желаемого вида сортировки делаем следующее (вполне допускаю, что этот совет может никому не потребоваться ввиду общеизвестности :) ):

Далее просто выбираем нужный показатель и способ сортировки (по убыванию/возрастанию):

Статистика Регулярка-Плейофф

Добавил отдельной вкладкой возможность оценить "кубковость" игроков, на примере Мозякина :). Собственно, сравниваются все показатели в регулярном сезоне и матчах навылет.

Статистика различных связок игроков

Представлена одним листом "Связки". 

  • Добавлен показатель "Действия", в котором складываются как успешные, так и неуспешные. Сделано это для большей статистической достоверности относительно того, является ли, например, выбранная пара защитников действительно играющей на постоянной основе или "так получилось" :)

  • Добавлен показатель "Забили гол". Сюда включаются все голы, которые забил любой из представителей связки, при условии, что все остальные также были на площадке

В дальнейшем, добавлю статистику по посещаемости и какую-нибудь аналитику по судьям (данные уже есть). Узнаем, кто же у нас отличается домашним судейством :). 

В следующий раз опишу подробнее технические характеристики процесса, так сказать.