采集彩票双色球数据与简单统计
采集彩票双色球数据与简单统计br / span采集/span span彩票/span span双色球/span数据,以及span分析/span span彩票/span span双色球/span数据,span采集/span与span统计/span实例br / br / 详情:a target=_blan
采集彩票双色球数据与简单统计
采集 彩票 双色球数据,以及 分析 彩票 双色球数据, 采集与 统计实例
详情: 采集彩票双色球数据与简单统计_PHP_WO就爱_WO就爱我的博客
由于上传文件时,只能上传utf-8编码的文件(不然中文乱码),可以会在试用时有乱码
采集 彩票 双色球数据,以及 分析 彩票 双色球数据, 采集与 统计实例
详情: 采集彩票双色球数据与简单统计_PHP_WO就爱_WO就爱我的博客
由于上传文件时,只能上传utf-8编码的文件(不然中文乱码),可以会在试用时有乱码
<?php
/*
* 采集开彩票双色球数据,以及分析彩票双色球数据--采集与统计实例
*/
ini_set('display_errors', 0);//是否显示PHP错误信息,1显,0不显
require('caipiao.php');
$Ss = new getSseqiu();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> 采集与统计 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<input type="button" value="采集" onclick="document.location.href='?action=caiji'" />
<form method="get" action="?">
期数<input type="text" name="qishu" value="<?=$qishu?>"/>
期差<select name="cha">
<option value="5" <?=$chas5?>>5</option>
<option value="10" <?=$chas10?>>10</option>
<option value="15" <?=$chas15?>>15</option>
<option value="20" <?=$chas20?>>20</option>
</select>
<input type="submit" value="确定"/>
</form>
<?php
if(isset($_GET['action']) && $_GET['action'] == 'caiji'){
// 采集数据
$start = 1; //开始页
$end = 43; //结束页
if($Ss->main($start, $end)){
echo '采集完成';
}
}else{
$qishu = isset($_GET['qishu']) ? intval($_GET['qishu']) : 0;
$cha =isset($_GET['cha']) ? intval($_GET['cha']) : 0;
$chas = 'chas'.$cha;
$$chas = 'selected="selected"';
if($_GET){
$_list = $Ss->detachNum();
$list = array();
$n = $i = $qishu;
$num_arr = array();
for( $i; $i <= $qishu+$cha; $i++ ){
$num_arr[] = $i;
}
for( $n; $n >= $qishu-$cha; $n-- ){
if(!in_array($n, $num_arr))
$num_arr[] = $n;
}
sort($num_arr);
$list = array();
foreach($num_arr as $key => $val){
$list[] = $_list[$val];
}
$dispose = $Ss->dataDispose( $list, $qishu);
$red = $dispose['red'];
$blue = $dispose['blue'];
?>
<table width="20%" style="float:left; text-align:center;">
<tr>
<td width="80px" height="25px">期数</td>
<td width="180px">红</td>
<td width="50px">蓝</td>
</tr>
<?php
foreach($list as $key => $val){
$style = '';
if($val[0]==$qishu){
$style="style='background: #EBE6A9;'";
}
?>
<tr <?=$style?>>
<td height="25px"><?=$val[0]?></td>
<td><?=$val[1]?></td>
<td><?=$val[2]?></td>
</tr>
<?php
}
?>
</table>
<table width="20%" style="float:right;text-align:center;">
<tr>
<td width="30px" height="25px">红</td>
<td width="30px">次数</td>
<td width="30px">权值</td>
<td width="30px">均值</td>
</tr>
<?php
for($i=1;$i<=33 ;$i++ ){
?>
<tr>
<td height="25px"><?=$i?></td>
<td class="hits"><?=$red[$i]['hits']?></td>
<td class="weight"><?=$red[$i]['weight']?></td>
<td class="mean"><?=$red[$i]['mean']?></td>
</tr>
<?php
}
?>
</table>
<table width="20%" style="float:right; text-align:center;">
<tr>
<td width="30px" height="25px">蓝</td>
<td width="30px"><a href="javascript:void(0);" onclick="orderBy('blue_son','hits')">次数</a></td>
<td width="30px">权值</td>
<td width="30px">均值</td>
</tr>
<?php
for($i=1;$i<=16 ;$i++ ){
?>
<tr class="blue_son">
<td><?=$i?></td>
<td class="hits"><?=$blue[$i]['hits']?></td>
<td class="weight"><?=$blue[$i]['weight']?></td>
<td class="mean"><?=$blue[$i]['mean']?></td>
</tr>
<?php
}
?>
</table>
<script language="javascript">
<!--
function orderBy(son,ob){
var obj_son = $('.'+son);
var obj_ob = $('.'+ob);
obj.each(function (){
$(this).next('.'+ob).html();
});
}
//-->
</script>
<?php
}
?>
<?php
}
?>
</body>
</html>
2. [文件] 采集开彩票双色球数据,以及分析彩票双色球数据--采集与统计实例 ~ 4KB 下载(84) 跳至 [1] [2] [全屏预览]
<?php
/*
* 采集开彩票双色球数据,以及分析彩票双色球数据
*/
header("Content-type: text/html; charset=utf-8");
class getSseqiu {
var $purl= 'http://www.gdfc.org.cn/datas/history/twocolorball/history_*.html';
var $files = 'caipiao.txt';
var $_list ;
function main($start,$end){
$this->_list = $this->getFile();
for( $i=$start; $i<=$end; $i++ ){
$url = str_ireplace('*',$i,$this->purl);
$this->getContent($url);
}
return true;
}
function getContent($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
if(!$data){
return '';
}
# 切割整个页面
$content = explode('<table width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#d3d3d3">',$data);
$content = explode('</table>',$content[1]);
# 匹配数据
preg_match_all("/<tr>(.*?)<\/tr>/is", $content[0] ,$out);
unset($out[1][0]);
$con_all = $out[1];
$qishu = null;
ob_start();
foreach($con_all as $key => $val){
preg_match("/<td align=\"center\" bgcolor=\"(#FFFFFF|#faf8e9)\">(.*?)<\/td>/", $val,$matches_1);
$title = $matches_1[2];
preg_match("/<td align=\"center\" bgcolor=\"(#FFFFFF|#faf8e9)\" class=\"td-luckyno\" luckyNo=\"(.*?)\"><\/td>/", $val,$matches_2);
$value = $matches_2[2];
$str = trim($title.':'.$value);
if(!in_array($str,$this->_list)){
echo "\n".$str;
}
}
$ob_content = ob_get_contents();
ob_end_clean();
$this->saveFile($ob_content);
}
#保存文件
function saveFile($data){
if(!is_file($this->files)){
$fp = fopen($this->files,'w+');
}else{
$fp = fopen($this->files,'a+');
}
fwrite($fp, $data);
fclose($fp);
}
#取文件 为数组
function getFile(){
$arr = array();
if(!is_file($this->files)){
return $arr;
}
$fp = fopen($this->files,'r');
while (!feof($fp)) {
$arr[] = trim(fgets($fp));
}
fclose($fp);
return $arr;
}
function detachNum(){
$file_list = $this->getFile();
array_shift($file_list);
$reu = array();
foreach($file_list as $key => $val){
$temp = $this->getLayout($val);
$reu[$temp[0]] = $temp;
}
return $reu;
}
function getLayout($data){
$reu = array();
$reu = explode(':',$data);
$reu[2] = substr($reu[1], -2, 2);
$reu[1] = substr($reu[1],0,strlen($reu[1])-2);
return $reu;
}
# 数据处理
function dataDispose($data,$qishu){
if(!is_array($data)) return false;
$coun = count($data);
$foolr = floor($coun/2);
$foolr_qishu = $foolr+1;
$red = array();
$blue = array();
$num = 1;
foreach($data as $key => $val){
if($val[0] == $qishu){
$num = $foolr;
$weight_num = $foolr_qishu;
}elseif($val[0]<$qishu){
$weight_num = $num ++;
}elseif($val[0]>$qishu){
$weight_num = $num --;
}
# 红
$son_arr = $this->stringNumber($val[1]);
foreach($son_arr as $k2 => $v2){
$red[intval($v2)]['hits'] = $red[intval($v2)]['hits']+1;
$red[intval($v2)]['weight'] = $red[intval($v2)]['weight']+$weight_num;
}
# 蓝
$blue[intval($val[2])]['hits'] = $blue[intval($val[2])]['hits']+1;
$blue[intval($val[2])]['weight'] = $blue[intval($val[2])]['weight']+$weight_num;
}
for( $i=0; $i<=33 ;$i++ ){
if($red[$i]){
$red[$i]['mean'] = round($red[$i]['hits']/$red[$i]['weight'],2) ;
}
}
for( $i=0; $i<=16 ;$i++ ){
if($blue[$i]){
$blue[$i]['mean'] = round($blue[$i]['hits']/$blue[$i]['weight'],2);
}
}
return array( 'red'=>$red, 'blue'=>$blue);
}
function stringNumber($string){
$list = array();
$list[] = substr($string, 0, 2);
$list[] = substr($string, 2, 2);
$list[] = substr($string, 4, 2);
$list[] = substr($string, 6, 2);
$list[] = substr($string, 8, 2);
$list[] = substr($string, 10, 2);
return $list;
}
// function dbMysql(){
// $conn = mysql_connect('localhost','root','root') or die('连接Mysql错误:'.mysql_error());
// mysql_select_db('caipiao',$conn) or die('连接数据库错误:'.mysql_error());
// mysql_query('set names gbk');
// }
}
// 采集数据
//$start = 1;
//$end = 1;
//$Ss = new getSseqiu();
//$Ss->main($start, $end);
?>
- 上一篇:PHP操作文件类(文件和文件夹创建,复制,移动
- 下一篇:PHP 简易爬虫
精彩图集
精彩文章






