怎么样编程实现统计自己每天花在各个网站和软件如微博,google以及QQ等上面的时间?


有这个想法很久了但是毫无思路,有没有谁指点一下提供一些思路之类的,编程语言不限,可以慢慢学,只是对这个功能有兴趣,不过跟操作系统有一定相关性,是不是用C#会好实现点。

编码 c#

平和島臨也 11 years, 1 month ago

问题稍微有点大啊 :)
我只说和网站有关的, 我的想法是写一个浏览器插件(我用的Firefox).
1. 打开https://builder.addons.mozilla.org/;
2. 创建插件, 实现记录打开和离开google.com的时间;
main.js:

   
  var pageMod = require("page-mod");
  
var self=require('self');
pageMod.PageMod({
include: "https://www.google.com/*",
contentScriptFile: self.data.url('unload.js')
});

unload.js

   
  var log=function(str){
  
console.log(str+":"+ new Date().getTime());
};
log('google:begin');

window.onbeforeunload = function() {
log('google:end');
};

window.onblur = function() {
log('google:blur');
};

window.onfocus = function() {
log('google:focus');
};

这样打开或离开google, Firefox console log里会有:
info: testpage: google:begin:1365735674966
info: testpage: google:end:1365735684278

  1. 下面我们io/text-streams -> TextWriter把上面的时间写入log 文件里.
    logger.js

       
        var file=require('file'),
        
    writer=file.open(file.join('c:','xxx_log.txt'),'w'),
    log=function(msg){
    writer.write(msg+"\n");
    };
    exports.log=log;
    require('timers').setInterval(function(){writer.flush();}, 2000);

    用logger.js里的log方法替换掉unload.js里的log方法;

    1. 这样你读log可以得到花在google上的时间. 定时一个脚本每天晚上从log里做统计.

我有一个大阴谋 answered 11 years, 1 month ago

Your Answer