Однажды я решил провести мини-исследование о том, какие языки программирования востребованы на разных сайтах вакансий. Выбрал десять сайтов, пять основных языков и составил небольшую таблицу. Свою скромную статистику я разместил на хабре. Кто-то из посетителей просил узнать динамику роста, кому-то были интересны другие языки программирования, кого-то интересовали заработные платы. Я прочитал все комментарии, и позже у меня возникла мысль создать сайт, который бы собирал и обрабатывал информацию с других ресурсов. Поборов свою лень, я принялся за работу. Так появился tracknums.com.
Основу сайта составляют графики. Известно, что картинка порой заменяет множество слов. Читать длинные тексты и изучать колонки цифр и таблицы подчас утомительно. Не каждому хватит на это терпения. Да и само построение графиков (например, в системе excel) отнимает время, а если информация меняется, то данные приходится каждый раз обновлять. На tracknums.com эта проблема легко решается.
Так, зарегистрированный пользователь имеет возможность добавить URL какого-либо сайта и выбрать на загруженной странице число или несколько чисел, которые его интересуют. С этого сайта в указанный промежуток времени от часа до года страница будет парситься, числа сохраняются в базе данных сайта и по ним строится график. Можно задавать разные цвета графиков и самому устанавливать время обновления данных. Пока сайт работает в бета-режиме и доступен любому пользователю. Бета-версия позволяет посетителям зарегистрироваться и за несколько кликов создать картинку-график, основанную на открытых данных из интернета.
Например, я сравнивал цены на iPad 3 на таких известных интернет-магазинах, как Amazon и Ebay. Я добавил два источника и построил один график по ценам. Как выяснилось, цены в магазинах меняются несколько раз в сутки. Исходя из этого, можно определить оптимальное время покупки. С помощью своего сайта я стал сравнивать цены и в других магазинах и смотрел, как они меняются: растут или наоборот снижаются.
Используя этот метод, можно следить за эффективностью предвыборной кампании в Интернете. Для примера я построил графики популярности Барака Обамы и Мита Ромни, взяв за основу количество «лайков» на их страницах в Facebook. Как только менялись данные, это сразу отражалось на графике. Сразу было видно, чей рейтинг падает, а чей идет вверх.
Также я следил за изменениями цен на недвижимость и сравнивал стоимость квартир в разных городах или странах. По валютам я провел интересную статистику — узнавал, как меняются курсы валют в одном банке или в разных банках, как меняются ставки по кредитам и депозитам в банках (в течение нескольких месяцев), а также как меняются курсы валют по отношению друг к другу (например, доллар к евро или доллар к рублю). Помимо валютного курса, я следил за изменениями цен на золото, платину и другие драгоценные металлы (по дням, неделям, месяцам), узнавал, как менялись цены на нефть, бензин, дизельное топливо.
Помимо этого, мне было интересно получать данные о количестве вакансий на разные специальности с нескольких сайтов (например, узнать, в какое время года больше предложений, а в какое меньше).
Словом, любая информация собирается с разных сайтов и каждый день (а по желанию и каждый час) отображаются новые данные. Каждый зарегистрированный пользователь вводит свои данные – сайта, с которого необходимо собирать информацию и позиции, которые интересны. Созданный график можно опубликовать на своем сайте, блоге, страничке в социальных сетях – facebook, одноклассники, Вконтакте или использовать по собственному усмотрению.
Вообще, могу сказать, что такой подход очень удобен. Мне не требуется каждый раз лазить по разным ресурсам и искать обновленную информацию. Все нужные мне данные отображаются в одном месте. К тому же хорошая инфографика больше способна привлечь «вирусный» трафик из социальных сетей и других каналов.
P.S.
Да механизмы веб-приложения еще несовершенны, но если пользователи будут заинтересованны, будет стимул его улучшать.
Использованные технологии: C# mvc.net и windows-сервисы.
Сам сервис сбора данных расширяем, можно запускать его многочисленные копии на разных серверах имеющих доступ к интернету. Данные для обработки будут получать с центрального сайта через вебсервис. Сейчас пока работает один.
Автор: vercors