【问题标题】:Find Users based on Twitter Friends根据 Twitter 好友查找用户
【发布时间】:2009-12-11 23:47:58
【问题描述】:

我有一个应用程序,我可以在其中提取带有特定井号标签的推文。当我找到哈希标签时,如果用户不存在,应用程序会自动创建用户。当用户通过 Twitter 登录时,我希望能够向他们展示他们也在使用该应用程序的朋友。问题是对于拥有大量朋友的 Twitter 用户而言,最大响应为 100,我必须继续将 API 访问 10 次才能获得拥有 1000 个朋友的用户的用户。

另外,当拉取好友信息时,我是否应该将好友缓存在一个数组中并移动到一个匹配的数组,这样我就不必再次访问 API?

【问题讨论】:

  • 好吧,如果 Twitter 的 API 一次有 100 个硬性限制,那么除了缓存之外,你真的无能为力,这并不能真正解决问题...:/

标签: php caching twitter


【解决方案1】:

鉴于大多数 Twitter 应用程序对 API 调用有每小时限制,您确实应该缓存几乎所有内容。在提取任何信息之前,请先检查缓存以查看您是否有数据。

如果您担心数据的最新程度,请在缓存中放置一个时间戳。当您尝试从缓存中访问某些内容时,请检查到现在的时间差是否大于某个定义的数量(取决于您的数据需要多新鲜以及您可以通过请求继续访问服务器的数量)以及它是否正常刷新数据。

这有点像编写一个好的网络爬虫(Jeff Atwood 似乎暗示这只是由 Google 完成的)。编写一些试图同时从互联网上下载所有内容的东西很容易,但编写一些能够以可持续、可管理的方式完成它的东西就更难了。

Twitter 通过在他们的 API 上设置“每小时访问次数”来强迫人们思考这些问题是明智的。

【讨论】:

  • tweetfriends.comfriendorfollow.com 有我想做的类似实例的示例,但我将与我自己的数据而不是其他 Twitter 用户进行比较。
  • 抱歉,我现在在工作,无法访问 twitter 相关网站 - 有机会我会看看。
  • 我编写了一个 twitter 应用程序,可以找到我所有的追随者、他们的追随者以及他们之间的联系。见softwareproductdev.com。我使用了一种类似于我所描述的技术 - 该软件可以使用它的 150 次访问,然后可以在任何时候重新运行并继续使用尚未下载的任何关注者。
【解决方案2】:

我发现了一个 API 调用,它只返回 Twitter 用户朋友的 ID,并返回超过 5000 个,但是,它试图返回所有。电话会议的文档在这里:http://apiwiki.twitter.com/Twitter-REST-API-Method:-friends%C2%A0ids

我所做的是从 API 调用中获取响应并使用 IN 创建一个 SQL 语句。这样,我现在可以通过 SQL 处理所有排序等,而不是进行令人讨厌的数组比较。

【讨论】:

    猜你喜欢
    • 2016-08-29
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2011-04-30
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多