PHP实现检测网站发布的文章是否被收录
网站主要作用是有人访问,而通过搜索引擎获取流量是最常见的不需要直接花钱的方式,如果你是网站管理员或者站长,你可能需要天天发布原创文章,而且天天关注文章是否被收录,如果网站自身的后台系统可以实现自动检测,是不是方便很多,以下优加网络介绍如果通过PHP程序开发语言实现检测文章是否被收录。
其最终原理很简单,直接搜索网址,用程序抓取返回的页面HTML代码,然后分析HTML代码来判断。
通过URL参数wd后面带网址,一般出现以下两种结果:
这是正常收录的结果
这是没有收录的结果。
对比下,就可以知道,只要分析返回来的HTML代码中包含“很抱歉,没有找到”文字,就说明没有被收录。开始我是这样做的,但是后来发觉有些页面不准确,主要是还有几个情况:
一,被屏蔽,没有返回任何值,也就是请求失败,这时候应该考虑,可以通过判断返回的HTML是否包含“为你找到相关结果”
二、返回多个其他页面结果,出现字样“没有找到相关URL”
所以我们的PHP程序可以这样写,准确率100%,其中$url表示网址
/*
* 检测网页是否被收录,返回1则表示收录 返回0表示没有收录
* @ param string $url 待检测的网址
*/
function checkBaiduInclude($url){
$url='网址?wd='.$url;
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$rs=curl_exec($curl);
curl_close($curl);
if(strpos($rs,'为您找到相关结果约0个') > 0 || strpos($rs,'很抱歉,没有找到') > 0 || strpos($rs,'没有找到该URL') > 0 ){
return "2";
} elseif (!strpos($rs,'为您找到相关结果')) {
return "0";
} else {
return "1";
}
}
充分发挥程序代码的作用,方便我们,节省时间。