泡了个学妹,好开心
2016-09-17 13:00
197 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。
////////////////2016/06/21////////////////////
//////////////by xbw///////////////////////////
////////////环境 山东科技大学//////////
学妹好萌,给了我一包什么不二家棒棒糖,糖更可爱。
贴吧偶遇,加了qq,学妹没说名字,留了几条信息,
第一条:学校c/c++ JudgeOnline系统个人提交统计图。
![](http://img.blog.csdn.net/20160621224642588?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第二条:qq空间留言,大家都叫她华姐。
两条信息在我们这不大的校园里足够了。
开始寻找学妹。。。。。。
抓取名字中有”华“字的学生,然后,同时抓取带“华”字同学的学号,然后通过学号GET请求得到提交题目的AC情况,
我们抓取Submit总数,AC总数,然后AC总数/Submit总数的结果保留两位小数,结果为0.57的学生挑出来,
一开始以为学妹实力了得,就只抓取了系统前1000名同学,然而都是查询无果,感觉有点灰心,问了学妹,
学妹告诉我她是转专业的,这就更厉害了,不是信息学院的一半oj提交数量很少,于是我把范围扩大,
学妹终于浮出水面了,面对唯一的结果开心的告诉了学妹,真的对了。哈哈
上代码
[php]
view plain
copy
print?
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
<?PHP
set_time_limit(0);
$page=0;
while($page<=40){
$str = file_get_contents('http://***.218.128.***/JudgeOnline/ranklist.php?start='.$page*50);//OJ- Ranklist
$isMatched = preg_match_all('/\'>(?<grp0>[^<]+)<\/a><td align=center>(?<grp1>[^<]+)<td align=center>/', $str, $matches);//正则表达式抽取学号,姓名
if($isMatched!=0){
for($i=0;$i<$isMatched;$i++){
$xu=array();
for($j=1;$j<=2;$j++){
$xu[$j]=$matches[$j][$i];
}
$isMatchs = preg_match('/[\x{534e}]+$/u', $xu[2], $matchess);//匹配华字,例如张新华。
if($isMatchs){
echo $xu[2].'--'.$xu[1].'<BR>';
$strs = file_get_contents('http://***.218.128.***/JudgeOnline/userinfo.php?user='.$xu[1]);//GET学号得到详细信息
$isMatchss = preg_match_all('/Submit<td align=center><a href=\'status\.php\?user_id=(?<grp0>[^\']+)\'>(?<grp1>[^<]+)<\/a><\/tr>[^<]*<tr bgcolor=#D7EBFF><td>(?<grp2>[^<]+)<td align=center><a href=status\.php\?user_id=(?<grp3>[^\D]+)&jresult=(?<grp4>[^>]+)>(?<grp5>[^<]+)<\/a><\/tr><tr/', $strs, $matchesss);//匹配submit,ac数量
//echo 'geshu--'.$isMatchss.'<BR>';
if($isMatchss!=0){
$txt = sprintf("%.2f",(double)$matchesss[6][0]/(double)$matchesss[2][0]);
echo $matchesss[6][0].'/'.$matchesss[2][0].'='.$txt.'<BR>';
if($txt==0.57){
echo '*******'.$xu[2].'*******'.'<BR>';
}
/*for($i=0;$i<$isMatchss;$i++){
$xus=array();
for($j=1;$j<=6;$j++){
$xus[$j]=$matchesss[$j][$i];
}
echo $xus[6].'/'.$xus[2].'<BR>';
if((int)$xus[6]/(int)$xus[2]==57){
echo $xu[2];
}
}*/
}
}
}
}
$page++;
}
?>
![](http://static.blog.csdn.net/images/save_snippets.png)
![](http://img.blog.csdn.net/20160621230415509?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
好啦,学妹浮出水面了。
好开心。
////////////////2016/06/21////////////////////
//////////////by xbw///////////////////////////
////////////环境 山东科技大学//////////
学妹好萌,给了我一包什么不二家棒棒糖,糖更可爱。
贴吧偶遇,加了qq,学妹没说名字,留了几条信息,
第一条:学校c/c++ JudgeOnline系统个人提交统计图。
第二条:qq空间留言,大家都叫她华姐。
两条信息在我们这不大的校园里足够了。
开始寻找学妹。。。。。。
抓取名字中有”华“字的学生,然后,同时抓取带“华”字同学的学号,然后通过学号GET请求得到提交题目的AC情况,
我们抓取Submit总数,AC总数,然后AC总数/Submit总数的结果保留两位小数,结果为0.57的学生挑出来,
一开始以为学妹实力了得,就只抓取了系统前1000名同学,然而都是查询无果,感觉有点灰心,问了学妹,
学妹告诉我她是转专业的,这就更厉害了,不是信息学院的一半oj提交数量很少,于是我把范围扩大,
学妹终于浮出水面了,面对唯一的结果开心的告诉了学妹,真的对了。哈哈
上代码
[php]
view plain
copy
print?
![](https://code.csdn.net/assets/CODE_ico.png)
<?PHP
set_time_limit(0);
$page=0;
while($page<=40){
$str = file_get_contents('http://***.218.128.***/JudgeOnline/ranklist.php?start='.$page*50);//OJ- Ranklist
$isMatched = preg_match_all('/\'>(?<grp0>[^<]+)<\/a><td align=center>(?<grp1>[^<]+)<td align=center>/', $str, $matches);//正则表达式抽取学号,姓名
if($isMatched!=0){
for($i=0;$i<$isMatched;$i++){
$xu=array();
for($j=1;$j<=2;$j++){
$xu[$j]=$matches[$j][$i];
}
$isMatchs = preg_match('/[\x{534e}]+$/u', $xu[2], $matchess);//匹配华字,例如张新华。
if($isMatchs){
echo $xu[2].'--'.$xu[1].'<BR>';
$strs = file_get_contents('http://***.218.128.***/JudgeOnline/userinfo.php?user='.$xu[1]);//GET学号得到详细信息
$isMatchss = preg_match_all('/Submit<td align=center><a href=\'status\.php\?user_id=(?<grp0>[^\']+)\'>(?<grp1>[^<]+)<\/a><\/tr>[^<]*<tr bgcolor=#D7EBFF><td>(?<grp2>[^<]+)<td align=center><a href=status\.php\?user_id=(?<grp3>[^\D]+)&jresult=(?<grp4>[^>]+)>(?<grp5>[^<]+)<\/a><\/tr><tr/', $strs, $matchesss);//匹配submit,ac数量
//echo 'geshu--'.$isMatchss.'<BR>';
if($isMatchss!=0){
$txt = sprintf("%.2f",(double)$matchesss[6][0]/(double)$matchesss[2][0]);
echo $matchesss[6][0].'/'.$matchesss[2][0].'='.$txt.'<BR>';
if($txt==0.57){
echo '*******'.$xu[2].'*******'.'<BR>';
}
/*for($i=0;$i<$isMatchss;$i++){
$xus=array();
for($j=1;$j<=6;$j++){
$xus[$j]=$matchesss[$j][$i];
}
echo $xus[6].'/'.$xus[2].'<BR>';
if((int)$xus[6]/(int)$xus[2]==57){
echo $xu[2];
}
}*/
}
}
}
}
$page++;
}
?>
![](http://static.blog.csdn.net/images/save_snippets.png)
<?PHP set_time_limit(0); $page=0; while($page<=40){ $str = file_get_contents('http://***.218.128.***/JudgeOnline/ranklist.php?start='.$page*50);//OJ- Ranklist $isMatched = preg_match_all('/\'>(?<grp0>[^<]+)<\/a><td align=center>(?<grp1>[^<]+)<td align=center>/', $str, $matches);//正则表达式抽取学号,姓名 if($isMatched!=0){ for($i=0;$i<$isMatched;$i++){ $xu=array(); for($j=1;$j<=2;$j++){ $xu[$j]=$matches[$j][$i]; } $isMatchs = preg_match('/[\x{534e}]+$/u', $xu[2], $matchess);//匹配华字,例如张新华。 if($isMatchs){ echo $xu[2].'--'.$xu[1].'<BR>'; $strs = file_get_contents('http://***.218.128.***/JudgeOnline/userinfo.php?user='.$xu[1]);//GET学号得到详细信息 $isMatchss = preg_match_all('/Submit<td align=center><a href=\'status\.php\?user_id=(?<grp0>[^\']+)\'>(?<grp1>[^<]+)<\/a><\/tr>[^<]*<tr bgcolor=#D7EBFF><td>(?<grp2>[^<]+)<td align=center><a href=status\.php\?user_id=(?<grp3>[^\D]+)&jresult=(?<grp4>[^>]+)>(?<grp5>[^<]+)<\/a><\/tr><tr/', $strs, $matchesss);//匹配submit,ac数量 //echo 'geshu--'.$isMatchss.'<BR>'; if($isMatchss!=0){ $txt = sprintf("%.2f",(double)$matchesss[6][0]/(double)$matchesss[2][0]); echo $matchesss[6][0].'/'.$matchesss[2][0].'='.$txt.'<BR>'; if($txt==0.57){ echo '*******'.$xu[2].'*******'.'<BR>'; } /*for($i=0;$i<$isMatchss;$i++){ $xus=array(); for($j=1;$j<=6;$j++){ $xus[$j]=$matchesss[$j][$i]; } echo $xus[6].'/'.$xus[2].'<BR>'; if((int)$xus[6]/(int)$xus[2]==57){ echo $xu[2]; } }*/ } } } } $page++; } ?>
好啦,学妹浮出水面了。
好开心。
相关文章推荐
- C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
- Winform实现抓取web页面内容的方法
- node.js抓取并分析网页内容有无特殊内容的js文件
- PHP实现抓取迅雷VIP账号的方法
- C# 实现抓取网站页面内容的实例方法
- asp.net 抓取网页源码三种实现方法
- PHP中4种常用的抓取网络数据方法
- 使用php方法curl抓取AJAX异步内容思路分析及代码分享
- 利用curl抓取远程页面内容的示例代码
- java在网页上面抓取邮件地址的方法
- C#使用HtmlAgilityPack抓取糗事百科内容实例
- 如何让搜索引擎抓取AJAX内容解决方案
- php实现递归抓取网页类实例
- C#实现抓取和分析网页类实例
- PHP中使用file_get_contents抓取网页中文乱码问题解决方法
- java使用正则抓取网页邮箱
- C# 抓取网页内容的方法
- php抓取并保存网站图片的实现代码
- Nodejs抓取html页面内容(推荐)
- Node.js抓取中文网页乱码问题和解决方法