我们有一种情况,我们记录访问和访问页面命中和机器人堵塞我们的数据库.我们不能使用验证码或其他类似的技术,因为这是在我们甚至要求人工输入之前,基本上我们正在记录页面命中,我们只想记录人类的页面命中.
那里有已知的僵尸网络IP列表吗?检查已知的bot用户代理是否有效?
没有确定的方式来抓住所有机器人.如果有人想要,机器人可以像真正的浏览器一样行事.
最严重的机器人在代理字符串中清楚地标识自己,因此使用已知机器人的列表,您可以装配大部分机器人.在列表中,您还可以添加一些默认情况下某些HTTP库使用的代理字符串,以捕获那些甚至不知道如何更改代理字符串的人的机器人.如果您只记录访问者的代理字符串,您应该能够选择要存储在列表中的访问者字符串.
您还可以通过在页面上放置一个隐藏的链接来制作"糟糕的机器人陷阱",该链接会导致您的robots.txt文件中的网页被过滤掉.严重的机器人不会跟随链接,人类无法点击它,因此只有不遵守规则的机器人才会请求该文件.
根据您要检测的bot的类型:
检测诚实的Web爬虫
检测隐形Web爬虫