6
A
回答
3
长话短说:你不能,没有银弹。任何机器人都可以将他们的user-agent
字符串设置为'googlebot'到'spamalot'之间的任何内容。
你可以亲自看到它,你需要做的就是去Shinnok指出的第一个站点,并开始计算那里列出的所有那些Googlebot/2.X
机器人。你阻止他们,他们改变机器人的名称为随机乱码等。最后,您最终会得到一个10k的机器人列表,当您尝试验证它们是否是机器人时,会减少用户的加载时间。
4
查看该列表: http://www.botsvsbrowsers.com/category/1/index.html
它包含的4768个机器人用户代理的总数。
完成机器人检测的另一种方法是以白名单的方式使用反向方法,即检查用户代理是否不是机器人,那么其他任何东西都是机器人。 :-)
要编译非bot用户代理的完整列表,您可以使用列表http://www.user-agents.org/和http://www.botsvsbrowsers.com/。
相关问题
- 1. 如何知道Kohana请求是否是内部请求?
- 2. 如何知道我的HTTP请求是否使用UTF-8?
- 3. 如何知道php脚本是HTTPS请求而不是HTTP?
- 4. 如何知道请求是否是asp.net mvc中的ajax?
- 5. 如何知道一个HTTP请求是来自阿贾克斯?
- 6. 如何知道对servlet的请求是否使用HTTP或HTTPS执行?
- 7. 如何知道是否有任何AJAX请求和Ajax成功
- 8. 如何知道jQuery是否有待处理的Ajax请求?
- 9. Robospice - addListenerIfPending - 如何知道请求WAS是否已找到?
- 10. 如何知道请求是否通过jQuery $ .ajax()
- 11. 如何知道当前请求是否使用ssl?
- 12. 如何知道是否有很多请求servlet
- 13. 如何知道AJAX请求是否被执行?
- 14. 如何知道一个请求是否被保护的url
- 15. Rails,如何知道特定请求是否仍在运行
- 16. 如何知道在Struts 2操作中HTTP请求是GET还是POST?
- 17. HTTP请求是否总是完成?
- 18. IIS如何知道请求是webforms还是MVC? (ASP.NET)
- 19. 如何知道是否
- 20. 如何知道当前的Servlet请求是否是重定向的结果?
- 21. 如何知道是否请求是阿贾克斯在asp.net中的Application_Error()
- 22. 是请求(HTTP请求客户端)是否同步?
- 23. 如何知道Pubnub中的取消订阅频道请求是否成功?
- 24. 是否有可能知道在http请求期间执行哪些php脚本?
- 25. ZMQ REP,知道是谁发送请求
- 26. 使用fancybox - 如何判断HTTP请求是否是AJAX?
- 27. 如何知道NSWindow是否是前窗?
- 28. 如何知道表是否是数组?
- 29. 如何知道指针是否是NSObject?
- 30. HTTP请求URL是否不是HTTP请求标头的一部分?
这与编程有什么关系? – sbi 2011-01-19 10:39:13
我需要它来过滤HTTP请求 – Himberjack 2011-01-19 10:45:55
谷歌下降你住的地方?幸运的是它适用于我。在这里你可以去:[http://www.user-agents.org/](http://www.user-agents.org/)。 – 2011-01-19 10:55:51