rss - 跟踪 RSS 订阅者的标准和可靠方法?

标签 rss

在不使用 Feedburner 的情况下可靠地跟踪 RSS 订阅者的最佳方法是什么?一些明显的方法,如通过 IP 或点击次数进行跟踪,有一些fata 缺陷。 IP 地址可以随着每个请求而改变,或者多个用户可以使用相同的 IP。此外,提要阅读器可以每天甚至一小时多次请求提要。这两个问题都使得获得唯一订阅者的可靠统计数据变得非常困难。

我已经阅读了这两篇文章 Leo NotenboomTim Bray关于这个话题,但他们的建议似乎都没有真正解决如何以准确可靠的方式跟踪订阅者。 Leo 建议在每次加载引用页面时以编程方式生成一个唯一 ID,将其附加到 RSS 提要 URL。 Tim 提倡让 RSS 阅读器生成一个独特的主题标签,并且还提出了从跟踪引荐来源到使用 cookie 的建议。唯一的 URL 是可靠的,但它有两个缺陷:它不是一个用户友好的 URL,并且会为 SEO 创建重复的内容。是否有其他可靠的方法来跟踪 RSS 订阅者? Feedburner 如何估算订阅者?

最佳答案

没有真正的标准方法来做到这一点。订阅者计数总是不可靠的,但你可以用它得到很好的估计。

以下是 Google 的做法( source ):

Subscribers counts are calculated by matching IP address and feed reader combinations, then using our detailed understanding of the multitude of readers, aggregators, and bots on the market to make additional inferences.



当然,其中一部分对 Google 来说很容易,因为他们可以先计算有多少 Google 阅读器用户订阅了相关提要。之后他们也使用IP地址匹配,这也是你应该使用的。

您可以从网络服务器日志中计算出单独的 IP 地址(即唯一的),但如果他们都使用相同的地址,那么 10 个人将被计为 1。这就是为什么您应该检查客户端发送的 HTTP header ,更具体地说是 header 字段 HTTP_X_FORWARDED_FORHTTP_VIA .您可以使用 HTTP_VIA地址作为“主”地址,然后计算有多少唯一HTTP_X_FORWARDED_FOR地址订阅了提要。如果订阅者没有这些代理添加的字段,则将其计为唯一的 IP 地址。这些应该在生成提要的代码中处理。您还可以为 IP 添加 GeoIP 查找并将所有内容存储到数据库中。这将允许您查看哪个国家/地区的订阅者最多。

这也有它的问题。所有代理都不使用这些字段,也不能解决计算 NAT 网关背后的订阅者的问题。然而,这是一个很好的估计。此外,您可能对数量级而不是订阅者的确切数量更感兴趣,不是吗?如果计数器显示您有 5989 个订阅者,那么您可能有更多订阅者,因为计数器为您提供了下限。

关于rss - 跟踪 RSS 订阅者的标准和可靠方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3327677/

相关文章:

java - 从 pubDate RSS 标签中提取日期

java - 使用 Rome Library 获取所有 RSS 提要条目

php - 如何使用 SimpleXML 解析 XML 的 CDATA HTML 内容?

javascript - 将 RSS 提要的内容附加到单独的 div

asp.net - 合并多个 RSS 源

java - 为什么 Android 解析 XML 不正确?

python - 在 python 中导入样板管道时遇到问题

linux - 在 Linux 中从命令行检索文本 (Twitter)

iphone - 解析 RSS 提要的主体

python - 在不更改目录的情况下写入 Python 中的新目录