0

我对此有一些想法,但我可以看到两者都有问题。我不需要 100% 准确的数据。一个 80% 的解决方案可以让我概括我将用户路由到的最流行的域。

选项 1 - 使用 PHP。通过一个文件路由链接,该文件track.php确保引用页面来自我的域,然后再跟踪点击。然后,此页面将用户路由到最终的预期 URL。显然,机器人可以欺骗这一点。做很多?我还可以检查用户代理。再说一次,我知道很多机器人都在欺骗这一点。

选项 2 - 使用 JavaScript。执行 JavaScript on click 函数,将点击写入数据库,然后将用户定向到最终 URL。

这两种方法都感觉可能会导致跟踪我的传出链接的爬虫出现问题。跟踪这些传出点击的最有效方法是什么?

4

2 回答 2

1

跟踪传出链接的最有效方法(Facebook、Twitter 和几乎所有搜索引擎都使用它)是“ track.php”类型的文件。

检测机器人可以被认为是一个单独的问题,这些问题很好地涵盖了这些方法:http ://duckduckgo.com/?q=how+to+detect+http+bots+site%3Astackoverflow.com但是做一个简单的在 User-Agent 中对“bot”进行字符串搜索可能会让您接近 80%*(/robots.txt根据您正在处理的 bot 的类型,观察命中率会达到 95%*)。

*:基于零具体数据的半有根据的猜测

于 2012-03-25T06:38:01.313 回答
1

好吧,谷歌分析和 Piwik 为此使用了 Javascript。

由于机器人无法使用 JS,因此您将只有人类。另一方面,人类也可以禁用 JS(但老实说,这种情况很少见)

Facebook、Deviantart、WLM 等使用服务器端脚本进行跟踪。我不知道他们如何过滤机器人,但一个不错的 robots.txt 带有一两个过滤器,我猜这应该足以获得 80%。

于 2012-03-25T08:48:35.963 回答