检测水魔方抢楼成功否

来自http://tunps.com/water-cube-ticket

这几天回到学校交了毕设的开题报告,然后在寝室复习梦牵梦绕的自考科目《英美文学选读》,临床的哥们在搞啥活动。凑过去看了看,原来是重庆大渝网和某某度假区搞的水魔方开业抢票活动。

具体的活动介绍看这里,主要意思就是从一个时刻开始,回复lz的问题,如果你回复所在的楼数恰好是符合中奖要求的,比如楼数的个位为6,比如是20的倍数,30的倍数….等等。

然后我临床的那个哥们和她老婆就是在那个帖子上疯狂的回帖了,我心想可以写一个自动post数据的程序,恰好这几天看了看验证码(captcha)方面的东东,发现qq论坛的验证码貌似机器很难读取,所以放弃。

过了一会儿,15分钟的活动就结束了,然后那位同学就开始立即从帖子的第一页开始翻,看自己的楼层是不是40的倍数,我一看,189页,那不得累死个人啊。于是乎,说是迟,那时快。我赶紧拿出我的陈年php脚本,稍作修改,运行了起来,直接查找是否搞到门票了:)

<?php
    function download($url,$from,$to){
        $originUrl=$url;
        while($from<=$to){
            $url=str_replace('@',$from,$url);
            $ch = curl_init();
            $options=array(
                CURLOPT_URL=>$url,
                CURLOPT_RETURNTRANSFER=>true
            );
            curl_setopt_array($ch,$options);
            $data = curl_exec($ch);
            $fp=fopen("qq.txt","a");
            echo "downloaded:".$url."\n";
            fwrite($fp,$data);
            fclose($fp);
            curl_close($ch);
            $url=$originUrl;
        $from++;
        }
        echo "all pages completely downloaded";
    }
    download('http://bbs.cq.qq.com/life/gk3tvq15774-@.htm','2','189');
    $handle=fopen("qq.txt","r");
    $count=0;
    while(!feof($handle)){
        $line=fgets($handle);
        $line=mb_convert_encoding($line,'GB2312','auto');
        if(strpos($line,'卡特') or strpos($line,'靖')){
            $startPos=strpos($line,'<b>')+3;
            $endPos=strpos($line,'</b>');
            $len=$endPos-$startPos;
            $msg=substr($line,$startPos,$len-2)."\n";
            if($msg%40 == 0){
                $msg.=" 可以领取门票了。\n";
            }
            echo $msg;
            $count++;
        }
    }
    echo "总共抢楼 $count 次\n";
?>

'卡特'是那个哥们的qq论坛ID,'靖'是他女人的。
第4期的活动取40倍数的楼层,所有是$msg%40
值得注意的是那个网页是utf-8编码,需要通过mb_convert_encoding来转换编码。
其实php里面的fopen,fsockopen可以直接打开查找,而不需要下载到本地文件系统,再查找文件.
代码保存为php文件,然后以命令行的方式运行,比如php test.php。

D:\project>php test.php
55
80
 可以领取门票了。
116
194
199
372
391
498
529
646
730
783
919
930
1035
1170
1196
1449
1484
1668
1723
1836
1958
2027
2196
2232
2364
2444
2505
2612
2642
2716
2868
2890
3122
3312
3424
3557
3694
3860
总共抢楼 40 次

About tunpishuang

just 4 fun·····
This entry was posted in 未分类 and tagged . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>