| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- /**
- * Created by PhpStorm.
- * User: chendeben
- * Date: 2019-01-21
- * Time: 09:34
- */
- //use QL\QueryList;
- include 'vendor/autoload.php';
- $key_word = $_GET['wd'];
- $domain=$_GET['host']?:"www.cnanzhi.com";
- $_url = "http://www.baidu.com/s?rn=10&ie=UTF-8&wd=%s";
- $range = '.c-container';
- $rules = [
- 'result' => ['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为<br>%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'];
- }
|