[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 112# 523066680


    60分钟的折线图对我来说是个挑战啊.....
    收集数据可能做不到整分
    还是做24小时的
    用下第三方库........

TOP

本帖最后由 523066680 于 2017-7-21 12:09 编辑

回复 111# bbaa


    最好还是有图表,24小时 或 60分钟 的折线图,不同 ID 不同颜色

现在bbaa速度飙升,10秒3个

TOP

回复 110# 523066680


    后面的速度监测加出来了...
    要不要加个历史记录.................

TOP

回复 109# bbaa

    采样的数据量不大,又是线性的,放内存、文件也行啊。

新的赛跑进度显示:
  1. codegay    28121 + 5     0.3/min
  2. vic2       13098 + 192   12.9/min
  3. 老刘        4927 + 0     0.0/min
  4. bbaa         227 + 0     0.0/min
  5. vic3         127 + 0     0.0/min
复制代码
代码
  1. =info
  2.     Auth: 523066680
  3.     Date: 2017-07
  4. =cut
  5. use JSON;
  6. use Encode;
  7. use Try::Tiny;
  8. use Time::HiRes qw/time sleep/;
  9. use IO::Handle;
  10. STDOUT->autoflush(1);
  11. use LWP::Simple;
  12. use LWP::UserAgent;
  13. our $user    = "vic3";
  14. our $website = 'http://bbaass.tk/math/';
  15. our ($user, $website, $headers);
  16. our $ua = LWP::UserAgent->new( agent => 'Mozilla/5.0', timeout => 5 );
  17. my %ever;
  18. my %current;
  19. getData( \%ever );
  20. my $count = 0;
  21. my $delta;
  22. my $speed;
  23. my $time_a = time();
  24. while (1)
  25. {
  26.     getData(\%current);
  27.     $count = 0;
  28.     for my $k (reverse sort { $ever{$a} <=> $ever{$b} } keys %ever)
  29.     {
  30.         $delta = $current{$k} - $ever{$k};
  31.         $speed = $delta / (time() - $time_a) * 60.0;
  32.         printf "%-10s %5d + %-5d %.1f/min\n",
  33.             encode('gbk',  $k),
  34.             $ever{$k},
  35.             $delta,
  36.             $speed
  37.             ;
  38.         last if ($count++ > 3);
  39.     }
  40.     print "\n";
  41.     sleep 10.0;
  42. }
  43. sub getData
  44. {
  45.     my $href = shift;
  46.     my $res;
  47.     my $data;
  48.     while (1)
  49.     {
  50.         $res = $ua->post( $website, [ username => $user, send => 'reg' ] );
  51.         $res = $ua->post( $website, [ username => $user, send => 'user' ] );
  52.         try { $data = decode_json( $res->content ); last; }
  53.         catch { sleep 2.0; printf "repeat\n" }
  54.     }
  55.     for my $e ( @{$data->{'user'}} )
  56.     {
  57.         ( $times, $name, $state ) = @$e;
  58.         $href->{$name} = $times;
  59.     }
  60. }
复制代码

TOP

回复 107# codegay


    在建表我就要挂了...
    不想在弄个表了...

TOP

本帖最后由 老刘1号 于 2017-7-20 21:46 编辑

真·一个都抢不到……
5230兄的速度要逆天啊……

bbaa兄的随机法好评

TOP

回复 105# bbaa


    你把数据采样存数据库里。这样能浏览各个时间段的数据变化。这样对用户更好一些。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 老刘1号 于 2017-7-20 20:59 编辑

回复 101# 523066680


    emmmm,我好像发现什么
如果是能整除10的数的话,我的脚本不如你的快
如果是不能整除10的数,如果接近10,2分确实不如你的快

TOP

本帖最后由 bbaa 于 2017-7-20 19:47 编辑

回复 101# 523066680


完成100%
点击打开
注,只有距离上次更新有一【小时/分钟】才会更新

TOP

回复 103# 老刘1号


    列表改单页了....

TOP

回复 99# bbaa


    666支持
不过一楼的那个列表现在一打开就加载七页的数据(感觉在烧批家的流量啊)

TOP

本帖最后由 老刘1号 于 2017-7-20 20:49 编辑

回复 98# 523066680
厉害,我的脚本已经处于劣势了
其他:
脚本已开源。

TOP

本帖最后由 523066680 于 2017-7-20 17:42 编辑

由二分扩展为N段划分的 Perl 代码示例。
整体思路:均匀采样,统一交给线程去跑,等结果都返回了,缩小 min 和 max 的范围继续跑

线程的代码去掉了,有蜜汁Bug
  1. =info
  2.     Author: 523066680
  3.     Date: 2017-07
  4. =cut
  5. use IO::Handle;
  6. use Time::HiRes qw/sleep/;
  7. STDOUT->autoflush(1);
  8. our $n = int(rand(10000));
  9. my ($min, $max) = (0, 10000);
  10. my $div = 10;
  11. my @ele;
  12. my @cmp;
  13. while (1)
  14. {
  15.     @ele = map { int( ($max-$min+1) / $div * $_) + $min } ( 1 .. $div-1 );
  16.     @cmp = map { check($_) } @ele;
  17.     printf "min:%5d max:%5d n=%5d  ", $min, $max, $n;
  18.     grep { printf "%d %s N ", $ele[$_], $cmp[$_] } ( 0 .. $#ele );
  19.     print "\n";
  20.     grep { $min = $ele[$_] if ($cmp[$_] eq '<') } ( 0 .. $#cmp );
  21.     grep { $max = $ele[$_] if ($cmp[$_] eq '>') } ( reverse 0 .. $#cmp );
  22.     grep { last if ($_ eq '=') } ( @cmp );
  23.     sleep 0.3;
  24. }
  25. sub check
  26. {
  27.     our $n;
  28.     my $guess = shift;
  29.     return ($guess < $n) ? "<" : ($guess > $n) ? ">" : "=" ;
  30. }
复制代码
测试时加了sleep怕死循环
  1. min:    0 max:10000 n= 2760  1000 < N 2000 < N 3000 > N 4000 > N 5000 > N 6000 > N 7000 > N 8000 > N 9000 > N
  2. min: 2000 max: 3000 n= 2760  2100 < N 2200 < N 2300 < N 2400 < N 2500 < N 2600 < N 2700 < N 2800 > N 2900 > N
  3. min: 2700 max: 2800 n= 2760  2710 < N 2720 < N 2730 < N 2740 < N 2750 < N 2760 = N 2770 > N 2780 > N 2790 > N
  4. .[Finished in 0.8s]
复制代码
看到 bbaa 也在发力了
  1. codegay    27556 + 3
  2. 老刘       4684 + 100
  3. vic2       1945 + 125
  4. bbaa       74 + 37
  5. racket     28 + 0
复制代码
1

评分人数

TOP

回复 99# bbaa


    喇就省得我单独跑一个脚本看跑步差距了。

TOP

回复 98# 523066680


    告诉你个消息,变化列表最迟在今晚内置
    [一分钟更新一次]
    [和一小时更新一次的列表]
    [目前收集信息模块已经完成]
    [正在做界面]
    如果时间充裕的话可能会做像顶楼那样的GD自动生成图片
    目前自动到收集的信息
    一分钟
  1. {
  2.          "change": {
  3.                   "minute": {
  4.                            "last": {
  5.                                     "user": {
  6.                                              "codegay": "27558",
  7.                                              "vic2": "1963",
  8.                                              "bbaa": "74",
  9.                                              "老刘": "4718",
  10.                                              "racket": "28",
  11.                                              "vic3": "18"
  12.                                     },
  13.                                     "Timestamp": 0,
  14.                                     "timestamp": 1500542815
  15.                            },
  16.                            "done": {
  17.                                     "user": {
  18.                                              "vic2": 8,
  19.                                              "老刘": 6,
  20.                                              "codegay": 1,
  21.                                              "vic3": 0,
  22.                                              "bbaa": 0,
  23.                                              "racket": 0
  24.                                     },
  25.                                     "lastu": {
  26.                                              "codegay": "27557",
  27.                                              "vic2": "1955",
  28.                                              "bbaa": "74",
  29.                                              "老刘": "4712",
  30.                                              "racket": "28",
  31.                                              "vic3": "18"
  32.                                     }
  33.                            }
  34.                   },
  35.                   "hour": {
  36.                            "last": {
  37.                                     "user": {
  38.                                              "codegay": "27557",
  39.                                              "vic2": "1953",
  40.                                              "bbaa": "74",
  41.                                              "老刘": "4686",
  42.                                              "racket": "28",
  43.                                              "vic3": "18"
  44.                                     },
  45.                                     "Timestamp": 0,
  46.                                     "timestamp": 1500542575
  47.                            },
  48.                            "done": {
  49.                                     "user": [],
  50.                                     "lastu": []
  51.                            }
  52.                   }
  53.          }
  54. }
复制代码
1

评分人数

TOP

返回列表