欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

采集彩票双色球数据与简单统计

程序员文章站 2022-05-20 13:33:15
...
跳至
采集与统计
	期数
	期差<option value="5" >5<option value="10" >10<option value="15" >15<option value="20" >20main($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; $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'];
?>期数红蓝 $val){
	$style = '';
	if($val[0]==$qishu){
		$style="style='background: #EBE6A9;'";	
	}
?><tr >红次数权值均值<?php
for($i=1;$i蓝次数权值均值<?php
for($i=1;$i
" _ue_custom_node_="true">
_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('',$data);
		$content = explode('',$content[1]);

		# 匹配数据
		preg_match_all("/(.*?)<\/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>/", $val,$matches_1);
			$title = $matches_1[2];
			preg_match("/<\/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);
?>