rules([ 'order_sn'=> ['td>a:eq(0)','text'], 'time'=> ['td:eq(1)','text'], 'gameName'=> ['td.period','html','-div'], 'period'=> ['td.period>div','text'], 'account'=> ['td:eq(3)','html','-div'], 'region'=> ['td:eq(3)>div','text'], 'code'=> ['td>span:eq(0)','text'], 'odds'=> ['.odds','text'], 'money'=> ['.money','text'], 'commission'=> ['.commission','text'], 'result'=> ['.dividend','text'], 'share'=> ['.share','text'], 'result1'=> ['td:eq(9)','text'], ])->range('tr')->query()->getData(); $queryList = $queryList->all(); if($queryList){ foreach ($queryList as $item ){ if($item['order_sn'] && !DB::table('test_logs')->where(['order_sn'=> $item['order_sn'],'page'=> $i])->value('id')){ $item['page'] = $i; $item['money'] = floatval($item['money']); $item['code'] = str_replace(['『','』'],['[',']'], $item['code']); $datas[] = $item; //RedisService::set('order:'.$item['order_sn'], 11, 60000); } } } $i++; } DB::table('test_logs')->insert($datas); return message(1002, true, $datas); } public function betList1() { /** * * 东郲 * 213808.app * 661182FF * xxcc666 * AAbb1122 */ set_time_limit(0); $account = request('account',''); $cookie = 'ssid1=ac7aeb26742b7642d45a0605d4749266; random=549; token=f06742d5c5d6f66606d86bc28f279f12a3d831fa'; $url = "https://86524391-jf.for9dong.com/agent/report/bets?username={$account}&lottery=PK10JSC&begin=2023-02-28&end=2023-02-28&settle=true"; $header = ["Cookie: ssid1=a6d82ef49895683ce8789c1ef0141163; random=9338; token=e11c72348bc5f0b654957495154f6dbaff1307d7","User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36","Host: 86524391-jf.for9dong.com","Connection: keep-alive","Referer: https://86524391-jf.for9dong.com/agent/report/list?username=yyy1999&lottery=PK10JSC&detail=true&begin=2023-02-28&end=2023-02-28&settle=true"]; $page = request('page'); // $html = grabRequest($url.'&page='.$page, $header, '', 'get', 'text', '',10); //var_dump($html); // return 0; $pageSize = 100; $datas = []; $page = RedisService::get("log:page"); $page = $page>0? $page : 5; if($page >= 2730){ $page = 501; } for($i = $page; $i< $page+$pageSize;){ $html = grabRequest($url.'&page='.$i, $header, '', 'get', 'text', '',10); $queryList = QueryList::html($html)->rules([ 'order_sn'=> ['td>a:eq(0)','text'], 'time'=> ['td:eq(1)','text'], 'gameName'=> ['td.period','html','-div'], 'period'=> ['td.period>div','text'], 'account'=> ['td:eq(3)','html','-div'], 'region'=> ['td:eq(3)>div','text'], 'code'=> ['td>span:eq(0)','text'], 'odds'=> ['.odds','text'], 'money'=> ['.money','text'], 'commission'=> ['.commission','text'], 'result'=> ['.dividend','text'], 'share'=> ['.share','text'], 'result1'=> ['td:eq(9)','text'], ])->range('tr')->query()->getData(); $queryList = $queryList->all(); if($queryList){ foreach ($queryList as $item ){ if($item['order_sn'] && !RedisService::get('order:'.$i.':'.$item['order_sn'])){ $item['page'] = $i; $item['money'] = floatval($item['money']); $item['code'] = str_replace(['『','』'],['[',']'], $item['code']); $datas[] = $item; RedisService::set('order:'.$i.':'.$item['order_sn'], 11, 60000); } } } $i++; RedisService::set("log:page", $i, 600); } DB::table('test_logs')->insert($datas); return message(1002, true, ['account'=> $account,'count'=> count($datas)]); } public function export() { $account = 'jkl338'; $datas = DB::table('test_logs')->where(['account'=> $account])->get(); return message(1002, true, $datas); } }