Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Алгоритм определения колличества времени ВКонтакте


Автор: savmp 18.10.2011, 23:38
Здравствуйте!

Подскажите какой нужен алгоритм для определения количества проведённого времени в социальной сети ВКонтакте?

У меня есть друг который можно сказать постоянно сидит ВКонтакте...
И я не могу доказать ему, что кроме социальной сети у него остаётся время только на небольшой сон и поход в туалет... Кушает он как не странно сидя ВКонтакте...

Какой хотя бы примерно нужен алгоритм для определения времени:

За сегодня: --- (сколько то часов и минут)
За вчера:    --- (сколько то часов и минут)
За неделю: --- (сколько то дней, часов и минут)
За месяц:    --- (сколько то дней, часов и минут)
За год:        --- (сколько то дней, часов и минут)

Как я представляю алгоритм:
P.S. - Это только мои предположения... можно сказать наброски...

Заставить скрипт сканировать страницу социальной сети моего друга каждую секунду...
На странице скриптом проверять параметр - on или off line он...
и в соответствии с этим делать в каждую секунду запись в базу данных
если он был на сайте, то записываем online и наоборот

после чего подсчитываем количество записей в базе данных со значением online - этот результат будет равняться количеству секунд за определённый день...

Теоретически этот алгоритм прост и реален...

НО есть одно НО!!!

У меня нет гарантии что мой скрипт будет срабатывать идеально в каждую секунду!

ПОДСКАЖИТЕ СОИ ВАРИАНТЫ!

Спасибо заранее...

Автор: MoLeX 19.10.2011, 06:22
Цитата(savmp @  18.10.2011,  23:38 Найти цитируемый пост)

Заставить скрипт сканировать страницу социальной сети моего друга каждую секунду...

 smile  smile 

запуск скрипта + коннект к ВК + ожидание ответа + анализ + запись в БД > 1 сек. 
А в это время запускается еще одна копия скрипта и т.д., в итоге сервак ляжет (не сразу конечно, пару часов VPS с 256 оперативы проработает).

Точность до 1 секунды тут не нужна. После того как пользователь закрыл свою страницу у него статус online светится минут 10-15 (соответственно определить надо с помощью левых аккаунтов) и изменить запуск скрипта.

Теперь идем еще дальше, если он играет то через небольшой промежуток времени статус у него будет offline (если открыта у него одна вкладка с игрой).

Добавлено через 2 минуты и 38 секунд
P.S. следует посмотреть API ВК, может есть там что-то

Автор: savmp 19.10.2011, 08:58
А если всё это запустить на DENWER я думаю сервак не сразу ляжет... Да и по шустрее он...

Дайте свои варианты алгоритма... Не надо мой вариант критиковать, я и так знаю, что мой вариант не подходит, так как мой вариант это всего лишь предположения того как могло бы быть...

Автор: MoLeX 19.10.2011, 08:59
Цитата(savmp @  19.10.2011,  08:58 Найти цитируемый пост)
А если всё это запустить на DENWER я думаю сервак не сразу ляжет... Да и по шустрее он...

 smile

Добавлено через 2 минуты и 2 секунды
Цитата(savmp @  19.10.2011,  08:58 Найти цитируемый пост)
Дайте свои варианты алгоритма... Не надо мой вариант критиковать, я и так знаю, что мой вариант не подходит, так как мой вариант это всего лишь предположения того как могло бы быть... 

Цитата

Какой хотя бы примерно нужен алгоритм для определения времени:

За сегодня: --- (сколько то часов и минут)
За вчера:    --- (сколько то часов и минут)
За неделю: --- (сколько то дней, часов и минут)
За месяц:    --- (сколько то дней, часов и минут)
За год:        --- (сколько то дней, часов и минут)


ну добавь еще секунды

Автор: savmp 19.10.2011, 09:11
Что касается DENWER я думаю, что можно на нём запустить скрипт который будет обращаться к странице ВКонтакте, преобразовывать в текст и искать в нём <b class="fl_r">Online</b>

Если там есть <b class="fl_r">Online</b> то записываем значение прибытия Online

Думаю DENWER справиться с этой задачей

Автор: Evghenusi 19.10.2011, 13:00
оффтоп: savmp, а прогами для PC или расширениями для браузеров не обойтись?

к примеру: https://chrome.google.com/webstore/detail/ejifodhjoeeenihgfpjijjmpomaphmah

Автор: savmp 19.10.2011, 23:57
Нее готовые программы это не то.... Хочется самому написать программу на PHP

Весь прикол заклчается не в том чтобы доказать другу, что он задрот контакта...
Это и так понятно... Хочется самому такую программу написать...

Автор: Evghenusi 20.10.2011, 00:54
Цитата(savmp @  19.10.2011,  23:57 Найти цитируемый пост)
Хочется самому написать программу

C#, Java

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)