Маленькая утилита для получения рейтингов игроков в Prime World.
Сканирует веб-страницу рейтингов и собирает с неё данные в более-менее структурированном формате.
Если судить по рейтингам, представленным на сайте, становится заметно, что у некоторых персонажей топ-25 находится в пределах, скажем, 1700-1900 рейтинга, а у некоторых может доходить до 1900-2500. Отсюда можно сделать весьма интересный вывод, что персонажи, у которых диапазон топ-25 меньше других — неиграбельные («дно»). Данная прога должна помочь визуализировать это различие, построив графики рейтинга для всех персонажей.
Сразу предупреждаю: проверялось только в Debian Wheezy.
- Ставим SBCL и Quicklisp.
- Добавляем в подкаталог
local-projects
в папке Quicklisp'а симлинк на эту папку (содержащую исходники pw-dno). - Запускаем в этой папке SBCL.
- В SBCL выполняем команду
(load "runner.lisp")
. - Открываем в браузере URL http://localhost:4242/
- Настраиваем у себя подключение к Heroku.
heroku create -s cedar --buildpack http://github.com/jsmpereira/heroku-buildpack-cl.git
. Запоминаем название проги, которое Heroku нам сгенерировало.heroku labs:enable user-env-compile -a myapp
, вместо myapp пишем название проги из п.2.heroku config:add CL_IMPL=sbcl
heroku config:add CL_WEBSERVER=hunchentoot
heroku config:add LANG=en_US.UTF-8
git push heroku master
heroku open
. Эта команда откроет приложение в браузере.
- 2012-12-21: Переделал вывод данных так, чтобы Highcharts его понимал. Теперь приложение наконец-то работает. Разместил его на Heroku.
- 2012-12-20: Сделал веб-приложение, которое будет выводить графики через Highcharts. Страница виснет, потому что имеющийся формат данных не соответствует ожиданиям Highcharts.
- 2012-12-13: Сделал простейший парсер на CL, который тырит страницу, парсит оттуда рейтинги и собирает их в JSON строку. Строка записывается в файл в рабочем каталоге программы.
- Фетчить рейтинги не по каждому клику, а по расписанию независимо от просмотров страницы.