【问题标题】:How to find twitter trends based on location?如何根据位置查找推特趋势?
【发布时间】:2012-05-08 07:03:27
【问题描述】:

我正在尝试构建一个趋势图类型的应用程序。趋势图.com 到目前为止,我已经使用 twitters 流 api 来获取推文,并且我正在根据地理坐标过滤这些推文,因为这只会返回带有地理标记的推文。我将这些存储到 couchdb 中。 不,我需要根据位置找到最热门的话题。 我不知道该怎么做? 我的做法对吗? Twitter 趋势 api 仅提供带有 woeid 或世界的十大趋势推文。以及每天最多 30 条最热门的推文。我需要找到基于位置的趋势推文,然后将它们映射到一些可视化上。 任何人都可以帮助我任何想法吗?

【问题讨论】:

  • 整个公司都专门从事这方面的工作,您希望我们回答这个问题吗? :-)
  • 我喜欢这个想法,并想把它作为一个大学项目来做。也许不像他们那样大规模。我只是问了方法。我看不出这有什么不好。
  • 通过流 API 进行趋势分析并非易事。你必须扫描每条推文并分析它以找出它的内容。然后你必须按主题对它们进行分组,并确定哪些主题最常用。这些就是趋势。
  • 谢谢。:) 好吧,假设我有办法做到这一点。我怎么说这组推文来自这个位置?
  • 查看用户的位置字段和推文的地理数据。

标签: twitter location


【解决方案1】:

如果您愿意使用 Java,您可以使用 Twitter4J 并获得类似的趋势...

public List<String> getTrends(AccessToken atoken) throws TwitterException{
    twitter.setOAuthAccessToken(atoken);
    Trends trends = twitter.getLocationTrends(1);
    List<String> currentTrends = new ArrayList<String>();
    for(Trend t: trends.getTrends()){
        String name = t.getName();
        currentTrends.add(name);
    }
    return currentTrends;
}

关于函数的内容返回了世界范围内的当前趋势。您只需将 getLocationTrends()argument 更改为不同的 woeid 即可获得该区域的趋势。如果您希望将特定推文映射到精确区域,您可以过滤推文以仅返回带有地理位置标记的推文。

如果您不使用 Java,只需在替代库上使用 Twitter API directly。同样的过程也适用。

【讨论】:

  • 感谢您的回复。我目前正在使用python。但我没有使用它的原因是因为它只给了我十大趋势。而且,当您指定 woeid 时,我可以期望此 api 使用的最大粒度是多少。
猜你喜欢
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 2011-05-22
  • 2022-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
相关资源
最近更新 更多