
要判斷一個(gè)訪(fǎng)問(wèn)者是搜索搜ヽ(′?`)ノ索否為搜索引擎蜘蛛,可以通過(guò)檢查其`HTT(????)P_USER_AGENT`字符??串來(lái)實(shí)現。引擎引擎以下是主包一個(gè)簡(jiǎn)單而有效的方法:
```php
function isCrawler() {
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
$spiderSites = array(??
'googlebot', 'bingbot', 'yandexbot', 'baidusp??ider', 'sogou web spider', 'yahoo! slurp',
'msnbot', 'ia(′?_?`)_archiver', 'crawler', 'spider'??
);
fo??reach ($spiderSites as $spider) {
if (strpos($useragent, $spider) !== false) {
return true;
}
}
return false;
}
if (isCrawler()) {
// 是搜索引擎蜘蛛
echo?? "This is a search eng??ine spider.";
} else {
// 是普通用戶(hù)
echo "This is a normal user.";
}
```
`$_SERVER['HTTP_USER_AGENT']`包含了訪(fǎng)問(wèn)者的瀏覽器信息,包括是部分(fen)否是搜索??引擎蜘蛛。
創(chuàng )建一個(gè)包含常見(jiàn)搜索引擎蜘蛛名稱(chēng)的判斷數組`??$spiderSites`。
遍歷`$spiderSites`數組,搜索搜索使用`s??trpos`函數檢查`$useragent`中是引擎引擎否包含這些蜘蛛的名(ming)稱(chēng)。
如果找到匹配項,主包則返回`true`(′?`),部分表示是判斷搜索引擎蜘蛛。
根據`isCrawler`函數的搜索搜索返回值,輸出相應的引擎引擎信息。
注意事項
更ヽ(′?`)ノ新蜘蛛列表:
搜索引擎的主包蜘蛛名稱(chēng)可能??會(huì )變化,因此建議定期更新`$spiヽ(′ー`)ノderSites`數組以保持??準確性。部分(fen)
考慮其他因素:
有些蜘蛛可能會(huì )偽裝成普通用戶(hù),判斷或者使用不同的用戶(hù)代理字符串,因此這種方法可能不是1??00%準確。
通過(guò)這種方法,你可以有效地判斷訪(fǎng)問(wèn)者是否為搜索引擎蜘蛛,并根據需要采取相應的操作。