答案 0 :(得分:4)
实际上没有一种标准的方法可以做到这一点。订阅者计数总是不可靠,但您可以通过它获得良好的估计。
以下是Google如何做到这一点(source):
订阅者计数是通过匹配IP地址和订阅源阅读器计算的 组合,然后使用我们对众多的详细了解 市场上的读者,聚合器和机器人做出了进一步的推论。
当然,Google的部分内容很容易,因为他们可以先计算出有多少Google阅读器用户订阅了相关Feed。之后他们也使用IP地址匹配,这也是你应该使用的。
您可以从Web服务器日志中计算单个IP地址(即唯一的),但如果它们都使用相同的地址,则会将10个人计为1。这就是为什么你应该检查客户端发送的HTTP标头,更具体地说是标题字段HTTP_X_FORWARDED_FOR和HTTP_VIA
。您可以使用HTTP_VIA
地址作为“主”地址,然后计算订阅Feed的唯一HTTP_X_FORWARDED_FOR
地址的数量。如果订户没有这些代理添加的字段,则将其计为唯一的IP地址。这些应该在生成feed的代码中处理。您还可以为IP添加GeoIP查找并将所有内容存储到数据库中。这样,您就可以查看哪个国家/地区的订阅者订阅次数最多。
这也有问题。所有代理都不使用这些字段,并且它不能解决在NAT网关后计算订户的问题。然而,这是一个很好的估计。此外,您可能对数量级而不是订户的确切数量更感兴趣,不是吗?如果计数器显示你有5989个订阅者,那么你可能会有更多订阅者,因为计数器会给你下限。
答案 1 :(得分:4)
标准和可靠不完全是RSS词典中的单词:-)要记住,事情多少年后甚至没有标准的XSD?如果通过跟踪你的意思是“计数”,你可以做一些事情,而且策略取决于目的,即展示大数目或少数?这是一个营销的事情所以你必须定义你的目标: - )
您可能必须将IP号码分类才能开始 - 拥有大/公司/伞形IP号码的基本集合。对于他们,您可以使用referrer作为合理的过滤标准,并将其他所有内容统计为唯一,除非另有证明。绝大多数IP号码保持稳定约2天,但再次使用基本的引用逻辑作为过滤器对于那些只是一直“点击”的人来说总是好的。
然后你需要一个合适的聚合器列表和一个关于如何处理URL的分类,如果它们完全模糊了最终读者,那么你需要公布的或推断的平均值 - 使用公平分配平均计数总是公平的游戏。使用cookie可能有助于收集聚合器IP并区分自动代理和个人。
一个非常重要的事情是要记住,你不能只使用一种方法并期望它是一个银弹 - 你需要同时使用这3-4个方面加上基本的统计推理。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果将RSS源配置为需要某种身份验证,则可以执行基于用户的度量标准而不是基于ip的度量标准。虽然这将是一个技术上正确的解决方案,但让人们选择进入除Intranet场景之外的任何其他任何身份验证的博客都是一个延伸。