这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章给大家分享了如何利用 php 抓取蜘蛛爬虫痕迹的方法,文中给出了示例代码,方便大家学习和参考,有需要的朋友们可以参考借鉴。
前言
相信许多的站长、博主可能最关心的无非就是自己网站的收录情况,一般情况下我们可以通过查看空间服务器的日志文件来查看搜索引擎到底爬取了我们哪些个页面,不过,如果用 php 代码分析 web 日志中蜘蛛爬虫痕迹,是比较好又比较直观方便操作的!下面是示例代码,有需要的朋友们下面来一起看看吧。
示例代码
- <?php
- //获取蜘蛛爬虫名或防采集
- function isSpider(){
- $bots = array(
- 'Google' => 'googlebot',
- 'Baidu' => 'baiduspider',
- 'Yahoo' => 'yahoo slurp',
- 'Soso' => 'sosospider',
- 'Msn' => 'msnbot',
- 'Altavista' => 'scooter ',
- 'Sogou' => 'sogou spider',
- 'Yodao' => 'yodaobot'
- );
- $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
- foreach ($bots as $k => $v){
- if (strstr($v,$userAgent)){
- return $k;
- break;
- }
- }
- return false;
- }
- //获取哪种蜘蛛爬虫后保存蜘蛛痕迹。
- //根据采集时HTTP_USER_AGENT是否为空来防止采集
- //抓蜘蛛爬虫
- $spi = isSpider();
- if($spi){
- $tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
- $file = 'robot.txt';
- $time = date('Y-m-d H:i:s',mktime());
- $handle = fopen($file,'a+');
- $PR = $_SERVER['REQUEST_URI'];
- fwrite($handle, "Time:{$time} ROBOT:{$spi} AGENT:{$tlc_thispage} URL:{$PR} \n\r");
- fclose($handle);
- }
- ?>
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有问题大家可以留言交流。
来源: http://www.phperz.com/article/17/0804/342326.html