【发布时间】:2013-11-14 14:33:32
【问题描述】:
如何使用 PHP 检测爬虫/蜘蛛?
我目前正在做一个项目,我需要跟踪每个爬虫的访问。
我知道你应该使用 HTTP_USER_AGENT 但我不太确定如何为此目的格式化代码,而且我知道 USER AGENT 可以很容易地更改,所以 我也想知道是否可以添加还有一些参数来避免欺骗?
我正在尝试做的示例代码..
<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos( $user_agent, 'Google') !== false)
{
echo "Googlebot is here";
}
?>
谢谢
【问题讨论】:
-
当您检查网络服务器日志文件并在短时间内从单个 IP 或子网中查找许多请求时,您可以轻松找到爬虫。大多数搜索引擎不会修改他们的爬虫来像浏览器一样工作
-
这是不正确的,因为您可以将 HTTP_USER_AGENT 与 REMOTE_ADDR 结合使用,例如,googlebot 始终使用主机名 googlebot.com 进行抓取。但是我不知道如何为此设置脚本。问候丹尼斯
-
如果你不想让你的页面被抓取,请使用 robots.txt de.wikipedia.org/wiki/Robots_Exclusion_Standard 至少一些爬虫尊重 robots.txt
-
我希望页面被爬取,我只是想跟踪它:)
标签: php user-agent