網(wǎng)站主要作用是有人訪問(wèn),而通過(guò)搜索引擎獲取流量是最常見(jiàn)的不需要直接花錢的方式,如果你是網(wǎng)站管理員或者站長(zhǎng),你可能需要天天發(fā)布原創(chuàng)文章,而且天天關(guān)注文章是否被收錄,如果網(wǎng)站自身的后臺(tái)系統(tǒng)可以實(shí)現(xiàn)自動(dòng)檢測(cè),是不是方便很多,以下方維網(wǎng)絡(luò)介紹如果通過(guò)PHP程序開(kāi)發(fā)語(yǔ)言實(shí)現(xiàn)檢測(cè)文章是否被收錄。
其最終原理很簡(jiǎn)單,直接搜索網(wǎng)址,用程序抓取返回的頁(yè)面HTML代碼,然后分析HTML代碼來(lái)判斷。
通過(guò)URL參數(shù)wd后面帶網(wǎng)址,一般出現(xiàn)以下兩種結(jié)果:
這是正常收錄的結(jié)果
這是沒(méi)有收錄的結(jié)果。
對(duì)比下,就可以知道,只要分析返回來(lái)的HTML代碼中包含“很抱歉,沒(méi)有找到”文字,就說(shuō)明沒(méi)有被收錄。開(kāi)始我是這樣做的,但是后來(lái)發(fā)覺(jué)有些頁(yè)面不準(zhǔn)確,主要是還有幾個(gè)情況:
一,被屏蔽,沒(méi)有返回任何值,也就是請(qǐng)求失敗,這時(shí)候應(yīng)該考慮,可以通過(guò)判斷返回的HTML是否包含“為你找到相關(guān)結(jié)果”
二、返回多個(gè)其他頁(yè)面結(jié)果,出現(xiàn)字樣“沒(méi)有找到相關(guān)URL”
所以我們的PHP程序可以這樣寫,準(zhǔn)確率100%,其中$url表示網(wǎng)址
/*
* 檢測(cè)網(wǎng)頁(yè)是否被收錄,返回1則表示收錄 返回0表示沒(méi)有收錄
* @ param string $url 待檢測(cè)的網(wǎng)址
*/
function checkBaiduInclude($url){
$url='網(wǎng)址?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,'為您找到相關(guān)結(jié)果約0個(gè)') > 0 || strpos($rs,'很抱歉,沒(méi)有找到') > 0 || strpos($rs,'沒(méi)有找到該URL') > 0 ){
return "2";
} elseif (!strpos($rs,'為您找到相關(guān)結(jié)果')) {
return "0";
} else {
return "1";
}
}
充分發(fā)揮程序代碼的作用,方便我們,節(jié)省時(shí)間。