当前位置: 首页 > 面试题库 >

告诉机器人除人类访客以外的其他统计信息?

牟恺
2023-03-14
问题内容

我希望发布自己的简单网络统计脚本。

据我所知,路上唯一的主要障碍就是告诉人类游客除了机器人。我想要一种不需要定期维护的解决方案(即,我不想使用与机器人相关的用户代理更新文本文件)。

有没有像Akismet这样的垃圾邮件开放服务?还是有一个专门用于识别蜘蛛和机器人并提供频繁更新的PHP项目?

需要说明的是: 我不是要阻止机器人。 我不需要100%的防水效果
。我只想从统计信息中排除尽可能多的人。众所周知,解析用户代理是一个选项,但是维护要解析的模式是很多工作。我的问题是是否已经有任何项目或服务正在执行此操作。

赏金: 我想将其作为该主题的参考问题。最佳/最原始/技术上可行的贡献将获得赏金。


问题答案:

人类和机器人会做类似的事情,但是机器人会做人类不会做的事情。让我们尝试识别那些东西。在研究行为之前,让我们接受RayQuang的评论是有用的。如果访问者具有漫游器的用户代理字符串,则可能是漫游器。我无法将使用“ Google
Crawler”(或类似的东西)的任何人想象成UA,除非他们正在努力破坏某些东西。我知道您不希望手动更新列表,而是自动拉动一个列表应该是好的,即使它在接下来的十年中保持陈旧状态,也将有所帮助。

有些人已经提到了Javascript和图像加载,但是Google会两者兼而有之。我们必须假设现在有几个机器人可以同时做这两个,所以这些不再是人类的指标。但是,僵尸程序仍将唯一执行的操作是跟随“不可见”链接。以用户无法看到的非常偷偷摸摸的方式链接到页面。如果能够做到这一点,我们就有了一个机器人。

漫游器通常会(尽管并非总是如此)尊重robots.txt。用户不在乎robots.txt,我们可以假定检索robots.txt的任何人都是机器人。不过,我们可以更进一步,将虚拟CSS页面链接到robots.txt排除的页面。如果我们的普通CSS已加载,但我们的虚拟CSS没有加载,那肯定是机器人。您必须通过IP构建(可能是内存中的)负载表,并进行不包含在匹配中的表,但这确实是一个很可靠的判断。

因此,要使用所有这些方法:通过ip地址维护bot的数据库表,可能会有时间戳限制。添加不可见链接之后的所有内容,添加可加载“真实”
CSS但忽略robots.txt
CSS的所有内容。也许还要添加所有robots.txt下载器。过滤用户代理字符串作为最后一步,并考虑使用它来进行快速的统计分析,并查看这些方法在识别我们所知道的机器人方面发挥了多大作用。



 类似资料:
  • 数据概览 1.机器人问答界面 机器人问答是系统中重要的组成部分,能够帮助企业回答用户高重复、高频、无人或忙碌阶段的问答问题,较好的使用机器人问答能够回复80%以上的客户问题,通过知识维护和学习还将不断提高问答率,节省企业人工,提升准确率。 机器人问答界面包括几种类型: 单独网页标签页界面:单独网页咨询界面是一个独立网页,包含较为全面的页面信息 独立咨询控件窗口界面:单独的咨询控件窗口界面是一个悬浮

  • 在我的不和谐中,我有几个角色,比如“所有者”、“成员”和“监狱”。我希望bot只能由“所有者”角色访问,并希望命令如下所示:。监狱@user。然后机器人应该去掉“成员”角色,给他们“监狱”角色。 不和谐服务器最新更新请在此输入图像描述

  • 机器人信息 包含机器人的基本信息和服务管理。在机器人列表页点击“基本信息”,跳转到机器人信息页面;或者点击“设置机器人”,在机器人详情页点击左侧的“机器人信息”,也可以进入机器人信息页面。 基本信息 基本信息包括机器人昵称和头像设置。 服务管理 服务管理客队机器人服务功能进行设置,现主要分为六大类:日常聊天、物流查询、自动对联、机器写诗、知识问答、自定义闲聊。选择服务功能的开启之后,便可点击左下角

  • 本章主要讲述智齿客服系统中,机器人知识库业务模块的全部介绍,将以机器人知识库管理和内部知识库管理两个模块来进行讲解。 4.1 机器人知识库管理 超级管理员在首次进入知识库时,可对机器人进行必要的训练,包括:基本信息快速初始化知识库词条、添加问题分类管理和机器人信息基本设置等 图1 对机器人进行必要的训练 4.1.1 单轮问题管理 添加分类 在分类栏中添加相应分类,可以方便管理知识库内容,提高知识库

  • 这不是重复的:| 我添加了一个用于管理goup的新机器人。通过此信息: 我的机器人是管理员 我的机器人隐私被禁用 “启用”-您的机器人只会接收以“/”符号开头或通过用户名提及机器人的消息。“禁用”-您的机器人将接收人们发送到组的所有消息。当前状态是:禁用成功!新状态是:禁用 bot可以读取除其他bot消息外的所有成员!但可以在回复中看到信息。 我的tg api是:https://github.co

  • 我是一个编程新手。几天前,我开始开发我的第一个discord机器人,你知道,让我和我的朋友一起玩。现在,让我们假设我想让这个机器人检测消息中的单词,并在每次有人提到该单词时回复,无论消息的哪个部分。我能做到,但现在有个问题。假设我要找的单词是“你好”。如果有人说“哦,你好”,“你好”,一条写着“你好”的消息,机器人会回复“你好”。但是机器人也会在自己的消息中检测到hello,并一遍又一遍地回复自己