【发布时间】:2017-02-21 20:29:16
【问题描述】:
我们想为我们的文章页面添加页面浏览量计数器(就像在 Stackoverflow 中一样),但我们不想添加机器人和爬虫的页面浏览量。
我搜索了很多,只发现了非常过时的答案,说要触发 AJAX 请求,因为爬虫和机器人不执行 javascript... 嗯,现在是 2016 年……我相信现在所有的主要爬虫都在执行 javascript。
我想到了两个可行的解决方案:
- 在服务器上保留所有已知机器人和爬虫用户代理的列表,并且仅在请求不属于其中之一的情况下增加计数器(似乎是一个非常糟糕的解决方案,因为需要维护和更新列表定期进行,并且可能会有很多列表无法捕获)。
- 使用 AJAX 向
robots.txt中不允许的端点发送请求。 (或带有src="/article/track/?id=xxxxx"的隐藏图像)
第二个选项会为每个页面创建另一个请求,这并不可怕,但也许有更好的方法?当今常见的处理方式是什么?
如果需要,使用 ASP.NET Core 并将页面视图存储在 redis 中
【问题讨论】:
-
爬虫,AFAIK,也可以跟踪 AJAX 请求,这在引入单页应用程序和动态页面时是必不可少的read more
-
@AdamAzad 他们当然会跟踪 AJAX,这就是为什么我写信在
robots.txt中禁止它 -
也许这可以帮助,隐藏链接功能听起来不错webmasters.stackexchange.com/questions/11669/…
标签: javascript html asp.net .net bots