首页 开发编程 正文

php蜘蛛怎么看 php判断蜘蛛对应的知识点有哪些

phpfunctioncheckrobot($useragent=''){static$kw_spiders=array('bot',static$kw_browsers=array('msie',==false){$bot='Google';==false){$bot='GoogleAdsense';==false){$bot='B...

本篇文章给大家谈谈php蜘蛛怎么看,以及php判断蜘蛛对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录:

PHP程序中如何判断来访者是蜘蛛还是普通用户?

根据在一定时间打开的链接和流量多少来判断。

如果用脚本的话,可以这样在全局配置文件里记录访问各个页面的ip地址、访问时间、访问的脚本页面,那么你根据某个ip在短时间内访问到多个页面,就可以认定是蜘蛛,否则为普通用户。

PHP中如何调用JS代码实现判断是否是蜘蛛访问

这个理论上是无法做到的,因为蜘蛛可以模仿得和浏览器点开完全相同。

一般的办法是判断浏览器的AGENT标志,一般蜘蛛这里比较特殊,你看看日期里面的AGENT就知道如何识别了。

我的代码如下,可以参考:

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版如何使用

这个软件可以查看搜索引擎的蜘蛛访问记录,根据这些记录可以看到蜘蛛什么时候来访问过你的站,抓取了什么内容。

使用方法:把你下载的文件解压出来有一个目录为phpzz的目录吧,把这个一起传到你的空间根目录下面,让后在你的页面用一下方式调用

!--#include file="robot.php"-----插入php页面调用

SCRIPT src="robot.php"/SCRIPT ----插入html页面JS调用

bot.mdb 记录数据库

访问蜘蛛记录的话就在 你域名后面加上 /phpzz/zhizhu.php可以查看蜘蛛访问记录记录

关于php蜘蛛怎么看和php判断蜘蛛的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文转载自互联网,如有侵权,联系删除