field('Id,Token')->fetchAll(); $all = fopen(__DIR__.'/data/all.csv','w'); $dnx_exit = fopen(__DIR__.'/data/dns_diff.csv','a'); $dnx_has_exit = get_product(__DIR__.'/data/dns_diff.csv',1); $qiangzi_data = get_product(__DIR__.'/data/qiangzi.csv'); $qiangzi_f = fopen(__DIR__.'/data/qiangzi.csv','w'); $qiangzi = json_decode(file_get_contents("http://47.92.116.14:2222/api/areaPool.html?type=json"), true); //写入强子文件 qiangzi_getList($qiangzi,$qiangzi_f,$all,$qiangzi_data); fclose($qiangzi_f); $xingxing_data = get_product(__DIR__.'/data/xingxing.csv'); $xingxing_f = fopen(__DIR__.'/data/xingxing.csv','w'); $xingxing = json_decode(file_get_contents("http://47.110.154.124:6930/api/nasStatus.html?format=json"), true); //写入星星文件 xingxing_getList($xingxing,$xingxing_f,$all,$xingxing_data); fclose($xingxing_f); $jike_data = get_product(__DIR__.'/data/jike.csv'); $jike_f = fopen(__DIR__.'/data/jike.csv','w'); $jike = json_decode(file_get_contents("http://api.webok.me/beikeiplist/"), true)['data']; //写入极客文件 jike_getList($jike,$jike_f,$all,$jike_data); fclose($jike_f); $tiantian_data = get_product(__DIR__.'/data/tiantian.csv'); $tiantian_f = fopen(__DIR__.'/data/tiantian.csv','w'); $tiantian = json_decode(file_get_contents("http://api.ipzuiduo.com/api/areas?apiid=135&sendtime=".time()."&sign=".md5('apiid=135&sendtime='.time().'Fz1JRXVBCuwja2G2SoY2EUdgXtCGSBXS')), true)['data']; //写入天天文件 tiantian_getList($tiantian,$tiantian_f,$all,$tiantian_data,'天天'); fclose($tiantian_f); $laoying_data = get_product(__DIR__.'/data/laoying.csv'); $laoying_f = fopen(__DIR__.'/data/laoying.csv','w'); $laoying = json_decode(get_content('https://dl.ipduoduo.com/api/area?_=1604541004026',$product_list[4]['Token']), true)['data']; //写入老鹰文件 tiantian_getList($laoying,$laoying_f,$all,$laoying_data,'老鹰'); fclose($laoying_f); $shihui_data = get_product(__DIR__.'/data/shihui.csv'); $shihui_f = fopen(__DIR__.'/data/shihui.csv','w'); $shihui = get_content('http://39.96.182.192:8888/agent.html',$product_list[15]['Token']); //写入实惠文件 shihui_getList($shihui,$shihui_f,$all,$shihui_data); fclose($shihui_f); $gongxiang_data = get_product(__DIR__.'/data/gongxiang.csv'); $gongxiang_f = fopen(__DIR__.'/data/gongxiang.csv','w'); $gongxiang = get_content('http://118.25.157.170:39999/agent.html',$product_list[14]['Token']); gongxiang_getList($gongxiang,$gongxiang_f,$all,$gongxiang_data); fclose($gongxiang_f); $xunlian_data = get_product(__DIR__.'/data/xunlian.csv'); $xunlian_f = fopen(__DIR__.'/data/xunlian.csv','w'); $xunlian = json_decode(file_get_contents("http://xunyou.ippptp.com:2222/api/areaPool.html?type=json"), true); //写入讯连文件 xunlian_getList($xunlian,$xunlian_f,$all,$xunlian_data); fclose($xunlian_f); $wuxian_data = get_product(__DIR__.'/data/wuxian.csv'); $wuxian_f = fopen(__DIR__.'/data/wuxian.csv','w'); $wuxian = get_content('http://118.25.157.170:6888/agent.html',$product_list[9]['Token']); //写入无限文件 wuxian_getList($wuxian,$wuxian_f,$all,$wuxian_data); fclose($wuxian_f); $xianfeng_data = get_product(__DIR__.'/data/xianfeng.csv'); $xianfeng_f = fopen(__DIR__.'/data/xianfeng.csv','w'); $xianfeng = json_decode(xianfeng_post('http://39.102.54.40/development/fault.html','PHPSESSID=04amq9qmgf1u1sgl29a5a53is6',['page'=>1,'limit'=>1000]),true)['data']; //写入先锋文件 xianfeng_getList($xianfeng,$xianfeng_f,$all,$xianfeng_data); fclose($xianfeng_f); $jinrui_data = get_product(__DIR__.'/data/jinrui.csv'); $jinrui_f = fopen(__DIR__.'/data/jinrui.csv','w'); $jinrui = file_get_contents("http://pptp.zhekou5.com/api/getnas.php"); //写入金瑞文件 jinrui_getList($jinrui,$jinrui_f,$all,$jinrui_data); fclose($jinrui_f); //星星2288写入all $file2288 = fopen(__DIR__.'/data/2288.csv','r'); while ($data = fgetcsv($file2288)) { fputcsv($all,$data); } fclose($file2288); fclose($all); fclose($dnx_exit); //强子服务器解析规则 function qiangzi_getList($data,&$file,&$all,$exit) { global $dnx_exit,$dnx_has_exit; $online = ['故障','正常','异常']; $status = ['正常','拥挤','超载']; foreach ($data as $info) { $record = []; $record['name'] = '强子'; //如果存在 不为空 则 if(!empty($info['titleRow'])){ $record['city'] = $info['titleRow']; fputcsv($file,$record); fputcsv($all,$record); } if(empty($info['province'])){ $record['city'] = '全国混播'; } else { $record['city'] = trim($info['city'],'\"'); } if(strpos($info['description'],'电信') !== false){ $record['supply'] = '电信'; } elseif(strpos($info['description'],'联通') !== false){ $record['supply'] = '联通'; } elseif(strpos($info['description'],'移动') !== false){ $record['supply'] = '移动'; } else { $record['supply'] = '电信/联通'; } $daikuan = explode('带宽', trim($info['description2'])); $record['ip'] = $daikuan[0]; $record['daikuan'] = $daikuan[1]; $record['onlineuser'] = $info['onlineuser']; $record['maxuser'] = $info['maxuser']; $record['online'] = $online[$info['online']]; $record['status'] = $status[$info['status']]; for ($i=1;$i<6;$i++){ if(!empty($info['nasname'.$i])){ $record['nasname'] = $info['nasname'.$i]; if(!in_array($record['nasname'],$exit) && !in_array($record['nasname'],$dnx_has_exit)){ fputcsv($dnx_exit,['强子',$record['nasname']]); } fputcsv($file,$record); fputcsv($all,$record); } } } } //星星服务器解析 function xingxing_getList($data,&$file,&$all,$exit) { global $dnx_exit,$dnx_has_exit; $online = ['离线','正常']; $province_record = []; //省会 $province = ['黑龙','内蒙']; $citys = ['北京','上海','天津','重庆']; foreach ($data as $info) { $record = []; $record['name'] = '星星'; $province_detail = mb_substr($info['description'],0,2); if(in_array($province_detail,$province)){ $province_detail = mb_substr($info['description'],0,3); $info['description'] = mb_substr($info['description'],3); } elseif(!in_array($province_detail,$citys)) { $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'] = explode('电信',$info['description'])[0]; $record['supply'] = '电信'; } elseif(strpos($info['description'],'联通') !== false){ $record['city'] = explode('联通',$info['description'])[0]; $record['supply'] = '联通'; } elseif(strpos($info['description'],'移动') !== false){ $record['city'] = explode('移动',$info['description'])[0]; $record['supply'] = '移动'; } else { $record['city'] = $info['description']; $record['supply'] = '电信/联通'; } $record['ip'] = strpos($info['description2'],'-')? explode('-',$info['description2'])[1]:$info['description2']; $record['daikuan'] = ''; $record['onlineuser'] = ''; $record['maxuser'] = ''; $record['online'] = $online[$info['online']]; $record['status'] = ''; $record['nasname'] = $info['nasname']; if(!in_array($record['nasname'],$exit) && !in_array($record['nasname'],$dnx_has_exit)){ fputcsv($dnx_exit,['星星',$record['nasname']]); } fputcsv($file,$record); fputcsv($all,$record); } } //极客服务器解析 function jike_getList($data,&$file,&$all,$exit) { global $dnx_exit,$dnx_has_exit; $status = ['yes'=>'正常','no'=>'故障']; $province_record = []; foreach ($data as $info) { $record = []; $record['name'] = '极客'; //如果存在 不为空 则 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']; if(!in_array($record['nasname'],$exit) && !in_array($record['nasname'],$dnx_has_exit)){ fputcsv($dnx_exit,['极客',$record['nasname']]); } fputcsv($file,$record); fputcsv($all,$record); } } //天天服务器解析规则 function tiantian_getList($data,&$file,&$all,$exit,$product_name) { global $dnx_exit,$dnx_has_exit; $status = ['维护中','正常']; foreach ($data as $info) { $record = []; $record['name'] = $product_name; $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']; if(!in_array($record['nasname'],$exit) && !in_array($record['nasname'],$dnx_has_exit)){ fputcsv($dnx_exit,[$product_name,$record['nasname']]); } fputcsv($file,$record); fputcsv($all,$record); } } } function shihui_getList($html,&$file,&$all,$exit){ global $dnx_exit,$dnx_has_exit; preg_match("/
(.*\s*?)
<\/p><\/div>/is", $html, $result); preg_match_all("/
(.*?)<\/p>/is", $result[0], $result);
foreach($result[0] as $k=>$info){
$record = [];
$record['name'] = '实惠';
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 = []; $record['name'] = '共享'; 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,$exit){ global $dnx_exit,$dnx_has_exit; $online = ['离线','正常']; $province = ['黑龙','内蒙']; $province_record = []; foreach($data as $info){ $record = []; $record['name'] = '讯连'; $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]; if(!in_array($record['nasname'],$exit) && !in_array($record['nasname'],$dnx_has_exit)){ fputcsv($dnx_exit,['讯连',$record['nasname']]); } fputcsv($file,$record); fputcsv($all,$record); } } } } function wuxian_getList($html,&$file,&$all,$exit){ global $dnx_exit,$dnx_has_exit; //省会 $province = ['黑龙','内蒙']; $province_record = []; $citys = ['北京','上海','天津','重庆']; preg_match("/