php 判断访客是否为搜索引擎蜘蛛的函数代码_php技巧

复制代码 代码如下:

/**
* 判断是否为搜索引擎蜘蛛
*
* @author Eddy
* @return bool
*/
function isCrawler() {
$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;
}
}

网上倒是能搜到一大把,不过都是千篇一律的复制来复制去的,也不够全面,我这里整理了一份比较全面的代码:

复制代码 代码如下:

function is_spider(){
$robot = 0;
$USER_AGENT = strtolower($_SERVER['HTTP_USER_AGENT']);
if(strpos($USER_AGENT,"bot")) $robot = 1;
if(strpos($USER_AGENT,"spider")) $robot = 1;
if(strpos($USER_AGENT,"slurp")) $robot = 1;
if(strpos($USER_AGENT,"mediapartners-google")) $robot = 1;
if(strpos($USER_AGENT,"fast-webcrawler")) $robot = 1;
if(strpos($USER_AGENT,"altavista")) $robot = 1;
if(strpos($USER_AGENT,"ia_archiver")) $robot = 1;
if($robot == 1){
//do something
}
return '';
}

时间: 2024-12-26 05:42:30

php 判断访客是否为搜索引擎蜘蛛的函数代码_php技巧的相关文章

php中判断文件空目录是否有读写权限的函数代码_php技巧

is_writable用来处理,记住 PHP 也许只能以运行 webserver 的用户名(通常为 \'nobody\')来访问文件.不计入安全模式的限制. Example #1 is_writable() 例子 复制代码 代码如下: <?php $filename = 'test.txt'; if (is_writable($filename)) { echo 'The file is writable'; } else { echo 'The file is not writable'; }

通过js判断访客显示器屏幕分辨率并给出提示_javascript技巧

通过js判断访客显示器屏幕分辨率并给出提示 先给出代码示例: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这段代码大意是通过比较图片分辨率和桌面分辨率来判定改图是否适合直接用作访客的桌面壁纸.其中fw="1920"和fh="1200"后面的1920.1200分别是图片的宽度和高度参数,可以用php等读取的实际图片宽度和高度参数代替.以前第11.12行前面的判断我都是用的if,昨天把桌面分辨率调大以后发现这样会有2个提示--如果桌面分辨率大于图片分辨率

PHP写的获取各搜索蜘蛛爬行记录代码_php技巧

那么下面分享一款用php写的获取各搜索蜘蛛爬行记录代码 支持搜索引擎如下 可以记录Baidu,Google,Bing,Yahoo,Soso,Sogou,Yodao爬行网站的记录! php代码如下 复制代码 代码如下: <?php function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){ return

使用php判断浏览器的类型和语言的函数代码_php技巧

我们经常看到有一些网站上面会显示出你目前使用的浏览器类型和使用的语言,比如显示的是:您使用的浏览器为 IE6,繁体字.看起来是不是很炫. 其实这样的功能不难实现,无非就是判断浏览器的类型和语言,如果用JS来做应该很简单,这里我们看看用PHP来怎么实现这样的功能,既然是在做判断,就可以用PHP的条件语句if..else来判断实现. 判断浏览器类型: <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> 判断浏览器语言: <?php ech

PHP的几个常用数字判断函数代码_php技巧

复制代码 代码如下: <HTML> <HEAD> <TITLE>常用的数值判断函数</TITLE> </HEAD> <BODY> <? //判断数组 $colors = array("red", "blue", "green"); if(is_array($colors)) { print("colors is an array"."<

PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码_php技巧

有时候很实用在一些场合,留住备用吧 复制代码 代码如下: function is_mobile_request()       {         $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : '';         $mobile_browser = '0';         if(preg_match('/(up.browser|up.link|mmp|symbian|smartphon

用PHP查询搜索引擎排名位置的代码_php技巧

复制代码 代码如下: <?php /* 查询谷歌"深圳摄影工作室",岚视界LANSJ的排名位置; 2009-10-11 lost63.com原创 在前30页中搜索 */ $page=30; //页面数 $domain="lansj.com"; //域名 //$domain="lost63.com"; for($n=0;$n<=$page;$n++){ $url='http://www.google.cn/search?hl=zh-CN

PHP判断远程图片或文件是否存在的实现代码_php技巧

最简单的方法就是用fopen(),看看文件能否打开,能打就文件当然就存在 复制代码 代码如下: <?php$url = 'http://www.jb51.net/images/test.jpg'; if( @fopen( $url, 'r' ) ) {     echo 'File Exits';} else {    echo 'File Do Not Exits';}?> 语法:fopen(filename,mode,include_path,context) 参数 描述 filename

WordPress博客如何记录搜索引擎蜘蛛爬行痕迹

WordPress博客记录seo/seo.html" target="_blank">搜索引擎蜘蛛爬行痕迹插件: 1.搜索引擎蜘蛛爬行记录器Spider Tracker插件可以记录百度.谷歌.雅虎.必应.搜狗.搜搜6种搜索引擎的蜘蛛爬行痕迹,并生成统计图表,可以清晰的看到,近6日的各种搜索引擎的蜘蛛数量,以及当日的哪些时间,蜘蛛来过站里,又抓取了哪些网址. 2.wp-log-robots 插件大小仅3KB,wp-log-robots是一个记录搜索引擎蜘蛛爬虫活动记录的W