本文目錄一覽:
- 1、搜索引擎蜘蛛訪問日誌查看器php版如何使用
- 2、PHP中如何調用JS代碼實現判斷是否是蜘蛛訪問
- 3、搜索引擎蜘蛛訪問日誌查看器(php) v1.0 怎麼使用?
- 4、PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結
- 5、PHP的網站怎麼查詢蜘蛛記錄
- 6、PHP程序中如何判斷來訪者是蜘蛛還是普通用戶?
搜索引擎蜘蛛訪問日誌查看器php版如何使用
這個軟件可以查看搜索引擎的蜘蛛訪問記錄,根據這些記錄可以看到蜘蛛什麼時候來訪問過你的站,抓取了什麼內容。
使用方法:把你下載的文件解壓出來有一個目錄為phpzz的目錄吧,把這個一起傳到你的空間根目錄下面,讓後在你的頁面用一下方式調用
!–#include file=”robot.php”– —-插入php頁面調用
SCRIPT src=”robot.php”/SCRIPT —-插入html頁面JS調用
bot.mdb 記錄數據庫
訪問蜘蛛記錄的話就在 你域名後面加上 /phpzz/zhizhu.php可以查看蜘蛛訪問記錄記錄
PHP中如何調用JS代碼實現判斷是否是蜘蛛訪問
這個理論上是無法做到的,因為蜘蛛可以模仿得和瀏覽器點開完全相同。
一般的辦法是判斷瀏覽器的AGENT標誌,一般蜘蛛這裡比較特殊,你看看日期裏面的AGENT就知道如何識別了。
我的代碼如下,可以參考:
搜索引擎蜘蛛訪問日誌查看器(php) v1.0 怎麼使用?
bot.mdb 記錄數據庫 這是access數據庫asp上用的。但看你的提問標題,真的有些難易理解。以下是網上的查的:asp版。你也可以用的,不過得空間支付asp,且你得通過 這句代碼來調用 —-插入html頁面JS調用搜索引擎蜘蛛訪問日誌查看器V1.0(asp版)這個軟件可以查看搜索引擎的蜘蛛訪問記錄,根據這些記錄可以看到蜘蛛什麼時候來訪問過你的站,抓取了什麼內容。使用方法: —-插入asp頁面調用 —-插入html頁面JS調用bot.mdb 記錄數據庫訪問 zhizhu.asp 可以查看蜘蛛訪問記錄記錄優點:1、程序簡潔易用。2、記錄所有爬行的頁面。3、可以批量刪除數據。4、用數據庫記錄而不是txt。不足:1、程序小,功能也少。2、不能記錄返回值,如200 404等。3、適合小型的網站程序,或者流量不是太大的站。4、因為是測試版本功能不多,以後會有更新,現在夠用就好。
PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結
1、推薦的一種方法:php判斷搜索引擎蜘蛛爬蟲還是人為訪問代碼,摘自Discuz x3.2
?php
function checkrobot($useragent=”){
static $kw_spiders = array(‘bot’, ‘crawl’, ‘spider’ ,’slurp’, ‘sohu-search’, ‘lycos’, ‘robozilla’);
static $kw_browsers = array(‘msie’, ‘netscape’, ‘opera’, ‘konqueror’, ‘mozilla’);
$useragent = strtolower(empty($useragent) ? $_SERVER[‘HTTP_USER_AGENT’] : $useragent);
if(strpos($useragent, ‘http://’) === false dstrpos($useragent, $kw_browsers)) return false;
if(dstrpos($useragent, $kw_spiders)) return true;
return false;
}
function dstrpos($string, $arr, $returnvalue = false) {
if(empty($string)) return false;
foreach((array)$arr as $v) {
if(strpos($string, $v) !== false) {
$return = $returnvalue ? $v : true;
return $return;
}
}
return false;
}
if(checkrobot()){
echo ‘機械人爬蟲’;
}else{
echo ‘人’;
}
?
實際應用中可以這樣判斷,直接不是搜索引擎才執行操作
?php
if(!checkrobot()){
//do something
}
?
2、第二種方法:
使用PHP實現蜘蛛訪問日誌統計
$useragent = addslashes(strtolower($_SERVER[‘HTTP_USER_AGENT’]));
if (strpos($useragent, ‘googlebot’)!== false){$bot = ‘Google’;}
elseif (strpos($useragent,’mediapartners-google’) !== false){$bot = ‘Google Adsense’;}
elseif (strpos($useragent,’baiduspider’) !== false){$bot = ‘Baidu’;}
elseif (strpos($useragent,’sogou spider’) !== false){$bot = ‘Sogou’;}
elseif (strpos($useragent,’sogou web’) !== false){$bot = ‘Sogou web’;}
elseif (strpos($useragent,’sosospider’) !== false){$bot = ‘SOSO’;}
elseif (strpos($useragent,’360spider’) !== false){$bot = ‘360Spider’;}
elseif (strpos($useragent,’yahoo’) !== false){$bot = ‘Yahoo’;}
elseif (strpos($useragent,’msn’) !== false){$bot = ‘MSN’;}
elseif (strpos($useragent,’msnbot’) !== false){$bot = ‘msnbot’;}
elseif (strpos($useragent,’sohu’) !== false){$bot = ‘Sohu’;}
elseif (strpos($useragent,’yodaoBot’) !== false){$bot = ‘Yodao’;}
elseif (strpos($useragent,’twiceler’) !== false){$bot = ‘Twiceler’;}
elseif (strpos($useragent,’ia_archiver’) !== false){$bot = ‘Alexa_’;}
elseif (strpos($useragent,’iaarchiver’) !== false){$bot = ‘Alexa’;}
elseif (strpos($useragent,’slurp’) !== false){$bot = ‘雅虎’;}
elseif (strpos($useragent,’bot’) !== false){$bot = ‘其它蜘蛛’;}
if(isset($bot)){
$fp = @fopen(‘bot.txt’,’a’);
fwrite($fp,date(‘Y-m-d H:i:s’).”\t”.$_SERVER[“REMOTE_ADDR”].”\t”.$bot.”\t”.’http://’.$_SERVER[‘SERVER_NAME’].$_SERVER[“REQUEST_URI”].”\r\n”);
fclose($fp);
}
第三種方法:
我們可以通過HTTP_USER_AGENT來判斷是否是蜘蛛,搜索引擎的蜘蛛都有自己的獨特標誌,下面列取了一部分。
function is_crawler() {
$userAgent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
$spiders = array(
‘Googlebot’, // Google 爬蟲
‘Baiduspider’, // 百度爬蟲
‘Yahoo! Slurp’, // 雅虎爬蟲
‘YodaoBot’, // 有道爬蟲
‘msnbot’ // Bing爬蟲
// 更多爬蟲關鍵字
);
foreach ($spiders as $spider) {
$spider = strtolower($spider);
if (strpos($userAgent, $spider) !== false) {
return true;
}
}
return false;
}
下面的php代碼附帶了更多的蜘蛛標識
function isCrawler() {
echo $agent= strtolower($_SERVER[‘HTTP_USER_AGENT’]);
if (!empty($agent)) {
$spiderSite= array(
“TencentTraveler”,
“Baiduspider+”,
“BaiduGame”,
“Googlebot”,
“msnbot”,
“Sosospider+”,
“Sogou web spider”,
“ia_archiver”,
“Yahoo! Slurp”,
“YoudaoBot”,
“Yahoo Slurp”,
“MSNBot”,
“Java (Often spam bot)”,
“BaiDuSpider”,
“Voila”,
“Yandex bot”,
“BSpider”,
“twiceler”,
“Sogou Spider”,
“Speedy Spider”,
“Google AdSense”,
“Heritrix”,
“Python-urllib”,
“Alexa (IA Archiver)”,
“Ask”,
“Exabot”,
“Custo”,
“OutfoxBot/YodaoBot”,
“yacy”,
“SurveyBot”,
“legs”,
“lwp-trivial”,
“Nutch”,
“StackRambler”,
“The web archive (IA Archiver)”,
“Perl tool”,
“MJ12bot”,
“Netcraft”,
“MSIECrawler”,
“WGet tools”,
“larbin”,
“Fish search”,
);
foreach($spiderSite as $val) {
$str = strtolower($val);
if (strpos($agent, $str) !== false) {
return true;
}
}
} else {
return false;
}
}
if (isCrawler()){
echo “你好蜘蛛精!”;
}
else{
echo “你不是蜘蛛精啊!”;
PHP的網站怎麼查詢蜘蛛記錄
這很簡單:$_SERVER[‘HTTP_USER_AGENT’],獲取客戶端瀏覽器的型號,也就是訪問你網站的客戶端用的是什麼瀏覽器,比如:ie firefox……,但如果是蜘蛛,那就型號是什麼呢,我們只要判斷就可以知道了,下面是轉網上的一段流行代碼:?php
function get_naps_bot()
{
$useragent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
if (strpos($useragent, 『googlebot』) !== false){
return 『Googlebot』;
}
if (strpos($useragent, 『msnbot』) !== false){
return 『MSNbot』;
}
if (strpos($useragent, 』slurp』) !== false){
return 『Yahoobot』;
}
if (strpos($useragent, 『baiduspider』) !== false){
return 『Baiduspider』;
}
if (strpos($useragent, 』sohu-search』) !== false){
return 『Sohubot』;
}
if (strpos($useragent, 『lycos』) !== false){
return 『Lycos』;
}
if (strpos($useragent, 『robozilla』) !== false){
return 『Robozilla』;
}
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=」robotslogs.txt」;
$time=nowtime();
$data=fopen($file,」a」);
$PR=」$_SERVER[REQUEST_URI]「;
fwrite($data,」Time:$time robot:$searchbot URL:$tlc_thispage\n page:$PR\r\n」);
fclose($data);
}
?
PHP程序中如何判斷來訪者是蜘蛛還是普通用戶?
根據在一定時間打開的鏈接和流量多少來判斷。
如果用腳本的話,可以這樣在全局配置文件里記錄訪問各個頁面的ip地址、訪問時間、訪問的腳本頁面,那麼你根據某個ip在短時間內訪問到多個頁面,就可以認定是蜘蛛,否則為普通用戶。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128729.html