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. node.js express:如何知道请求是否是AJAX请求?
- 3. 如何知道我的HTTP请求是否使用UTF-8?
- 4. 如何知道php脚本是HTTPS请求而不是HTTP?
- 5. ASP.NET如何知道请求是否是AJAX?
- 6. 如何知道请求是否是asp.net mvc中的ajax?
- 7. 有没有办法知道$ http请求是否超时?
- 8. 如何知道一个HTTP请求是来自阿贾克斯?
- 9. 如何知道对servlet的请求是否使用HTTP或HTTPS执行?
- 10. 如何知道是否有任何AJAX请求和Ajax成功
- 11. Rails,如何知道特定请求是否仍在运行
- 12. Rails,如何知道请求是否来自本地主机?
- 13. 如何知道一个请求是否被保护的url
- 14. 如何知道AJAX请求是否被执行?
- 15. 如何知道jQuery是否有待处理的Ajax请求?
- 16. Robospice - addListenerIfPending - 如何知道请求WAS是否已找到?
- 17. 如何知道当前请求是否使用ssl?
- 18. 如何知道是否有很多请求servlet
- 19. 如何知道请求是否通过jQuery $ .ajax()
- 20. 如何知道在Struts 2操作中HTTP请求是GET还是POST?
- 21. mIRC Bot:侦听HTTP请求
- 22. JSP/Servlet如何识别HTTP请求是否来自ajax请求
- 23. HTTP请求是否总是完成?
- 24. 服务器如何知道请求是同步还是异步?
- 25. IIS如何知道请求是webforms还是MVC? (ASP.NET)
- 26. 如何知道是否
- 27. 如何知道当前的Servlet请求是否是重定向的结果?
- 28. 如何知道是否请求是阿贾克斯在asp.net中的Application_Error()
- 29. 是请求(HTTP请求客户端)是否同步?
- 30. 确定是否一个HTTP请求是HttpApplication.AuthenticateRequest SOAP请求
这与编程有什么关系? – 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