基于Twitter提及和Facebook喜欢的趋势

时间:2012-05-18 15:08:00

标签: php facebook api twitter trending

我们的网站允许人们上传图片,然后在Twitter上分享和/或在Facebook上分享。根据Twitter提及的总数和特定页面的Facebook喜欢,有一个热门页面,其中包含前X个图像。

目前我能看到的唯一方法就是通过在每个图像上进行2次API调用(至少)来获取每个社交网站的计数,然后计算总数,最后通过最先“趋势”。我不认为这应该是这样的,因为如果我们有3000个图像可以订购,它可能需要很长时间才能完成。

我不知道如何实现我们想要的东西(如果它甚至可能),那就是为什么我现在能想到的唯一解决方案就是拥有我们自己的“喜欢”系统或每小时计算一次并创建一种缓存(但这仍然意味着每小时都会有很多API调用)。

2 个答案:

答案 0 :(得分:2)

也许您可以根据服务器上的观看次数对图像进行排名。如果您愿意,您可以拍摄10%最佳观看图像,并根据提及/喜欢(以及)进行排名。这需要减少90%的API调用,但会产生令人满意的结果(我认为)。

答案 1 :(得分:0)

一些建议:

  1. 将其限制在特定时间范围内(例如,过去一周上传的图片)
  2. 将数据缓存一段时间,每小时左右只对每个图像进行一次API调用(可能更长)
  3. 即使人们不在此页面上,任何其他时间将图像加载到网站上的其他时间,如果在过去一小时内没有完成API调用,也会执行API调用。这会使一页加载的请求数量错开。
  4. 限制一页加载中的请求数量。这意味着某人可能会加载一个页面,它只会发送100个请求(对于100个最长时间内未请求过的图像),其余图像将使用之前的值(即缓存值)。这个完全取决于您的网站的活跃程度,您可能还需要每天/每周查找所有这些内容,以确保缓存不会过时。