我有一个ASP.Net 4网站。我在背景中计算访问者,但我的代码也算是搜索引擎的机器人。我怎么能理解我的客户是机器人还是人类?我不想算机器人。
此致
答案 0 :(得分:4)
您可以使用Request.Browser的Crawler属性来过滤搜索引擎机器人。
答案 1 :(得分:0)
您可以查看User Agent
,然后查找属于机器人或抓取工具的R
类型。
有关详细信息,请参阅http://www.user-agents.org。
我确信有些情况下机器人不遵守标准,你可能不得不关注这些标准。
答案 2 :(得分:0)
您最好的选择可能是检查客户的用户代理:
http://support.microsoft.com/kb/306576
对于.NET,甚至可能有一个快速的小库,其中包含许多众所周知的用户代理或良好的正则表达式。请注意,一些机器人会发送虚假的用户代理,使其看起来像是人,有些人的浏览器可能会发送空的或未知的用户代理等。但这些情况应该很少。在大多数情况下,这应该可以获得非常好的统计数据。
答案 3 :(得分:0)
对于初学者,您可以尝试检查邮件标题中的User Agent。但是,恶意机器人会伪造它。更加劳动密集的方法是以编程方式记录/检查您的IP访问(查看Web日志文件,或自己收集它们)并尝试根据访问频率等推断其中哪些是机器人。相当于猫和老鼠的游戏
答案 4 :(得分:0)
如果您想阻止抓取工具访问某些链接,请在根目录中创建一个Robots.txt文件,例如:
User-agent: *
Disallow: / // blocks the default route / page
Disallow: /MyPage.aspx
检查
http://en.wikipedia.org/wiki/Robots_exclusion_standard
&安培;