您的位置:首页 > 编程语言 > PHP开发

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

2013-08-16 13:46 519 查看
<?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/');
?>


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



可以通过 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;
}
}


本人已经测试过了,是完全可以的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: