'正常','no'=>'故障']; $province_record = []; foreach ($data as $info) { $record = []; //如果存在 不为空 则 if(!in_array($info['province'],$province_record)){ $record['city'] = $info['province']; $province_record[] = $info['province']; fputcsv($file,$record); fputcsv($all,$record); } if(empty($info['city'])){ $record['city'] = '全国混播'; } else { $record['city'] = $info['city']; } $record['supply'] = $info['isp']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $status[$info['status']]; $record['status'] = ''; $record['nasname'] = $info['domain']; fputcsv($file,$record); fputcsv($all,$record); } } //天天服务器解析规则 function tiantian_getList($data,&$file,&$all) { $status = ['维护中','正常']; foreach ($data as $info) { $record = []; $record['city'] = $info['name']; fputcsv($file,$record); fputcsv($all,$record); foreach ($info['areas'] as $v){ if(strpos($v['name'],'电信') !== false){ $record['city'] = explode('电信',$v['name'])[0]; $record['supply'] = '电信'; } elseif(strpos($v['name'],'联通') !== false){ $record['city'] = explode('联通',$v['name'])[0]; $record['supply'] = '联通'; } elseif(strpos($v['name'],'移动') !== false){ $record['city'] = explode('移动',$v['name'])[0]; $record['supply'] = '移动'; } else { $record['city'] = $v['name']; $record['supply'] = '电信/联通'; } $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = empty($v['status'])?'维护中':$status[$v['status']]; $record['status'] = ''; $record['nasname'] = $v['address']; fputcsv($file,$record); fputcsv($all,$record); } } } function shihui_getList($html,&$file,&$all){ preg_match("/
(.*\s*?)
<\/p><\/div>/is", $html, $result); preg_match_all("/
(.*?)<\/p>/is", $result[0], $result);
foreach($result[0] as $k=>$info){
$record = [];
if ($k==0||$k==5){
continue;
} else {
$list = explode('
',$info);
$i = 0;
foreach($list as $v){
$v = trim($v);
$v = trim(str_replace(' ','',$v),'
(.*?)<\/p>/is", $html, $result); foreach($result[0] as $k=>$info){ $record = []; if ($k==0){ continue; } else { $info = ltrim($info,'
'); $info = rtrim($info,'
'); if(strpos($info,'span') !== false){ $data = explode(' ',$info); } else { $data = explode(' ',$info); } $record['nasname'] = $data[0]; $data[1] = trim($data[1]); if(strpos($data[1],'电信') !== false){ $record['supply'] = '电信'; $data[1] = mb_substr($data[1],0,mb_strlen($data[1])-2); } elseif(strpos($data[1],'联通') !== false){ $record['supply'] = '联通'; $data[1] = mb_substr($data[1],0,mb_strlen($data[1])-2); } elseif(strpos($data[1],'移动') !== false){ $record['supply'] = '移动'; $data[1] = mb_substr($data[1],0,mb_strlen($data[1])-2); } else { $record['supply'] = '电信/联通'; } if(mb_strlen($data[1])<=3){ if(!in_array($data[1],$province_record)){ $record['city'] = $data[1]; $record['supply'] = $record['supply']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ''; $record['status'] = ''; $record['nasname'] = ''; $records['city'] = $data[1]; $province_record[] = $data[1]; fputcsv($file,$records); fputcsv($all,$records); fputcsv($file,$record); fputcsv($all,$record); } else { $record['city'] = $data[1]; $record['supply'] = $record['supply']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ''; $record['status'] = ''; $record['nasname'] = ''; fputcsv($file,$record); fputcsv($all,$record); } } else { $province_detail = mb_substr($data['1'],0,2); if(in_array($province_detail,$province)){ $province_detail = mb_substr($data['1'],0,3); if(in_array($province_detail,$province_record)){ $record['city'] = mb_substr($data['1'],3); $record['supply'] = $record['supply']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ''; $record['status'] = ''; $record['nasname'] = ''; fputcsv($file,$record); fputcsv($all,$record); } else { $record['city'] = mb_substr($data['1'],3); $record['supply'] = $record['supply']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ''; $record['status'] = ''; $record['nasname'] = ''; $records['city'] = $province_detail; $province_record[] = $province_detail; fputcsv($file,$records); fputcsv($all,$records); fputcsv($file,$record); fputcsv($all,$record); } } else { $province_detail = mb_substr($data['1'],0,2); if(in_array($province_detail,$province_record)){ $record['city'] = mb_substr($data['1'],2); $record['supply'] = $record['supply']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ''; $record['status'] = ''; $record['nasname'] = ''; fputcsv($file,$record); fputcsv($all,$record); } else { $record['city'] = mb_substr($data['1'],2); $record['supply'] = $record['supply']; $record['ip'] = ''; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = ''; $record['status'] = ''; $record['nasname'] = ''; $records['city'] = $province_detail; $province_record[] = $province_detail; fputcsv($file,$records); fputcsv($all,$records); fputcsv($file,$record); fputcsv($all,$record); } } } } } } function xunlian_getList($data,&$file,&$all){ $online = ['离线','正常']; $province = ['黑龙','内蒙']; $province_record = []; foreach($data as $info){ $record = []; $province_detail = mb_substr($info['description'],0,2); if($province_detail == '全国'){ $record['city'] = $info['description']; if(!in_array('混播',$province_record)){ $province_record[] = '混播'; fputcsv($file,$record); fputcsv($all,$record); $record['supply'] = '电信/联通'; } } else { if(in_array($province_detail,$province)){ $province_detail = mb_substr($info['description'],0,3); $info['description'] = mb_substr($info['description'],3); } else { $info['description'] = mb_substr($info['description'],2); } if(!in_array($province_detail,$province_record)){ $record['city'] = $province_detail; $province_record[] = $province_detail; fputcsv($file,$record); fputcsv($all,$record); } if(strpos($info['description'],'电信') !== false){ $record['city'] = mb_substr($info['description'],0,mb_strlen($info['description'])-2); $record['supply'] = '电信'; } elseif(strpos($info['description'],'联通') !== false){ $record['city'] = mb_substr($info['description'],0,mb_strlen($info['description'])-2); $record['supply'] = '联通'; } elseif(strpos($info['description'],'移动') !== false){ $record['city'] = mb_substr($info['description'],0,mb_strlen($info['description'])-2); $record['supply'] = '移动'; } else { $record['city'] = $info['description']; $record['supply'] = '电信/联通'; } } if(strpos($record['city'],'省') !== false){ $record['city'] = mb_substr($record['city'],1,mb_strlen($info['description'])); } for ($i=1;$i<6;$i++){ if(!empty($info['nasname'.$i])){ $record['ip'] = ''; if($i==1){ $record['daikuan'] = $info['maxbands']?:$info['description2']; } else { $record['daikuan'] = $info['maxbands'.($i-1)]?:$info['description2']; } $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['online']]; $record['status'] = ''; $record['nasname'] = $info['nasname'.$i]; fputcsv($file,$record); fputcsv($all,$record); } } } } function get_content($url, $cookie) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIE, $cookie); //读取cookie $rs = curl_exec($ch); //执行cURL抓取页面内容 curl_close($ch); return $rs; }