['h3', 'text'], // 采集链接 'link' => ['h3>a', 'href'], ]; $domains = [ '' ]; $flag=false; for ($i=0;$i<6;$i++){ $url = sprintf($_url,$key_word); if ($i>0){ $url.="&pn=".($i*10); } $ql = (new QL\QueryList)->get($url); $data = $ql->rules($rules)->range($range)->query()->getData(); $data = $data->all(); // $data=array_map(function ($a){return get_headers($a['link']);}, $data); //var_dump($data); //die(); foreach ($data as $key=>$item) { $header=getRealUrl($item['link']); // var_dump(parse_url($header)['host']); // die(); if (parse_url($header)['host']==$domain){ $rank=$key+$i*10; $real_url=$header; break; } } if (isset($rank)){ break; } } if (isset($rank)){ echo sprintf( "排名第%s位,真实URL为
%s",$rank+1,$real_url); }else{ echo "不在前5页里"; } function getRealUrl($url) { //得到百度跳转的真正地址 $header = @get_headers($url, 1); // var_dump($header);die(); if (strpos($header[0], '301') || strpos($header[0], '302')) { if (is_array($header['Location'])) { //return $header['Location'][count($header['Location'])-1]; $_url = $header['Location'][0]; } else { $_url = $header['Location']; } } else { $_url = $url; } return $_url; // $url = parse_url($_url); // return $url['host']; }