java - 按主题从 Twitter 用户构建网络图

标签 java twitter graph social-networking twitter4j

我正在尝试构建提到特定主题的 Twitter 用户的社交网络图。我的策略大致如下:

  1. 在 Twitter 上查询一个主题。收集前 100 条出现的推文,并将这些用户添加到图表中。
  2. 对于每个用户:
  3. 检索 friend 和关注者。
  4. 查询每个 friend /关注者的主题。如果他们得出结果(意味着他们已经讨论了该主题),请将他们添加到图表中。
  5. 对于添加到图中的每个用户,返回到步骤 2,直到达到所需的搜索深度。

我的问题有两个。首先,这种方法很快就超过了我的搜索 API 速率限制。即使搜索深度为 2,我也很可能会找到拥有 100 多个 friend /关注者的人,并且在达到速率限制之前我无法查询他们。

其次,这一切都需要相当长的时间。 Twitter API 并不快。在我不受速率限制的假设事件中,我可以异步提交请求,但我不禁想知道是否有更有效的方法。

我已经尝试将请求聚合到每个搜索深度的一个查询中: topic AND from:name1 OR from:name2 .... OR from:namei

这基本上爆炸了。我从 Twitter API 收到连接重置错误。如果我将查询复制到 Twitter 网页,它只会停留一会儿,然后说“加载推文似乎需要一段时间。”

我也发邮件给 api@twitter.com 来寻求建议/增加访问权限,但到目前为止还没有回复。

如果有人对如何通过 Twitter API 收集此类信息有任何建议,我将不胜感激。我目前正在使用 twitter4j 和 java。

最佳答案

您是否尝试过仅针对某个主题使用经过过滤的流,并使用提及和转推来构建图表?这是非常间接的,仍然会很慢,但不会达到任何速率限制。

参见 http://truthy.indiana.edu/http://cnets.indiana.edu/groups/nan/truthy

关于java - 按主题从 Twitter 用户构建网络图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302670/

相关文章:

twitter - 在 XCode 4.5 中找不到 MGTwitter : libxml/xmlreader. h 文件

python matplotlib 在 x 轴上设置年份

r - TwitteR、ROAuth 和 Windows : register OK, 但证书验证失败

java - 构建请求时出现 Android Retrofit 错误

java - 将对象添加到 arrayList

java - 增加所有叶子元素值的两种解决方案

javascript - 从可变长度的字符串中删除单词

python - 在 python 中对列表进行分箱

algorithm - 计算图中的唯一对(不允许重复顶点)

java - 使布局高度仅包裹 subview 之一