php記錄搜索引擎爬行記錄的實(shí)現(xiàn)代碼
下面是完整代碼:
//記錄搜索引擎爬行記錄 $searchbot = get_naps_bot(); if ($searchbot) { $tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']); $url = $_SERVER['HTTP_REFERER']; $file = WEB_PATH.'robotslogs.txt'; $date = date('Y-m-d H:i:s'); $data = fopen($file,'a'); fwrite($data,"Time:$date robot:$searchbot URL:$tlc_thispage/r/n"); fclose($data); }
WEB_PATH為index.PHP下define的根目錄路徑,意思就是說(shuō)robotslogs.txt文件是放在根目錄下的。
通過(guò)get_naps_bot()
獲取蜘蛛爬行記錄,然后在通過(guò)addslashes處理一下,將數(shù)據(jù)存儲(chǔ)于變量$tlc_thispage中。
fopen打開(kāi)robotslogs.txt文件,將數(shù)據(jù)通過(guò)函數(shù)fwrite寫(xiě)入,在通過(guò)函數(shù)fclose關(guān)閉就可以了。
因?yàn)槲矣X(jué)得沒(méi)必要,所以把自己網(wǎng)站上的代碼刪除了,所以也沒(méi)有效果示例了。
PS:php獲取各搜索蜘蛛爬行記錄的代碼
支持如下的搜索引擎:Baidu,Google,Bing,Yahoo,Soso,Sogou,Yodao爬行網(wǎng)站的記錄!
代碼:
<?php /** * 獲取搜索引擎爬行記錄 * edit by www.dbjr.com.cn */ function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){ return 'Google'; } if (strpos($useragent, 'baiduspider') !== false){ return 'Baidu'; } if (strpos($useragent, 'msnbot') !== false){ return 'Bing'; } if (strpos($useragent, 'slurp') !== false){ return 'Yahoo'; } if (strpos($useragent, 'sosospider') !== false){ return 'Soso'; } if (strpos($useragent, 'sogou spider') !== false){ return 'Sogou'; } if (strpos($useragent, 'yodaobot') !== false){ return 'Yodao'; } return false; } function nowtime(){ $date=date("Y-m-d.G:i:s"); return $date; } $searchbot = get_naps_bot(); if ($searchbot) { $tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']); $url=$_SERVER['HTTP_REFERER']; $file="www.dbjr.com.cn.txt"; $time=nowtime(); $data=fopen($file,"a"); fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n"); fclose($data); } ?>
總結(jié)
以上所述是小編給大家介紹的php記錄搜索引擎爬行記錄,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
PHP 面向?qū)ο蟪绦蛟O(shè)計(jì)(oop)學(xué)習(xí)筆記 (四) - 異常處理類Exception
異常經(jīng)常被用來(lái)處理一些在程序正常執(zhí)行中遇到的各種類型的錯(cuò)誤。比如做數(shù)據(jù)庫(kù)鏈接時(shí),你就要處理數(shù)據(jù)庫(kù)連接失敗的情況。使用異??梢蕴岣呶覀兂绦虻娜蒎e(cuò)特性,從而使我們的應(yīng)用程序更加的穩(wěn)定和健壯。2014-06-06Laravel6.2中用于用戶登錄的新密碼確認(rèn)流程詳解
這篇文章主要介紹了Laravel6.2中用于用戶登錄的新密碼確認(rèn)流程詳解,該功能使你可以要求已登錄的用戶重新輸入密碼,然后才能訪問(wèn)路由2019-10-10php中用加號(hào)與用array_merge合并數(shù)組的區(qū)別深入分析
本篇文章是對(duì)php中用加號(hào)與用array_merge合并數(shù)組的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式
這篇文章主要介紹了以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Laravel框架用戶登陸身份驗(yàn)證實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Laravel框架用戶登陸身份驗(yàn)證實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Laravel框架用戶登陸驗(yàn)證的原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-09-09php??intval函數(shù)的用法示例小結(jié)
這篇文章主要介紹了php??intval函數(shù)的用法,intval()函數(shù)用于將字符串轉(zhuǎn)換為整數(shù),可以指定進(jìn)制數(shù),并可以處理前導(dǎo)零和非數(shù)字字符,本文通過(guò)示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10php判斷頁(yè)面是否是微信打開(kāi)的示例(微信打開(kāi)網(wǎng)頁(yè))
今天遇到一問(wèn)題,讓一個(gè)頁(yè)面在微信上打開(kāi),PC上不能直接打開(kāi),下面是我使用的方法,現(xiàn)在分享給大家2014-04-04ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼
這篇文章主要介紹了ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06