php curl 检测网页是否被百度收录

<?php

/*

* 检测百度是否收录网页 curl模式

* @ param string $url传入的url
* return int (1 收录 0 不收录)
*/ function checkBaidu($url){ $url='http://www.baidu.com/s?wd='.$url; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); $arr=parse_url($url); if(strpos($arr['query'],'http://')){ $arr['query']=str_replace('http://','',str_replace('wd=','',$arr['query'])); }else{ $arr['query']=str_replace('wd=','',$arr['query']); } if(strpos($arr['query'],'?')){ $str=strstr($arr['query'],'?'); $arr['query']=str_replace($str,'',$arr['query']); } if(strpos($arr['query'],'/')){ $narr=explode('/',$arr['query']); $arr['query']=$narr[0]; } if(strpos($rs,'<b>'.$arr['query'].'</b>')){ return 1; }else{ return 0; } } echo checkBaidu('http://www.ahjk.cn/'); ?>

 

另一种是最蛋疼的方法 如图

php curl 检测网页是否被百度收录

可以通过 preg_match 函数检测 是否有   “抱歉,没有找到与”  这个文字来判断是否收录

function checkbaidu($key){

        $url="http://www.baidu.com/s?wd=".$key;

        $html = @file_get_contents($url);

        $html = iconv('utf-8','gbk//TRANSLIT',$html);

        if(preg_match('/(抱歉,没有找到与)/', $html)) {

          return 0;

        } else {

                 return 1;

        }

}            

 

 

  本人已经测试过了,是完全可以的。

你可能感兴趣的:(curl)