【问题标题】:Getting All Tweets From a Country Within A Time Period at Java在 Java 的某个时间段内从一个国家/地区获取所有推文
【发布时间】:2012-07-19 05:50:25
【问题描述】:

我正在做一个项目,我将获取某个国家/地区在特定时间段内发布推文的所有推文。之后我将对其进行数据挖掘(检查某个学生说了多少积极的想法等)。我想使用 Java 作为编程语言。但是我不知道如何开始这个项目。我搜索了一下,知道有:

我可以在哪里开始在一段时间内从一个国家(如果它可以来自给定的州)获取所有推文。一些示例如下:您提供了一个用户名,如果它是公共个人资料,它会返回推文。我没有所有公开个人资料的列表。我应该处理这个问题以及如何处理?

有什么想法吗?

【问题讨论】:

    标签: java twitter twitter4j


    【解决方案1】:

    如果你要使用 Java,Twitter4j 是你最好的选择。

    但是你必须选择一种策略来检索你想要的推文。

    您可以从 Twitter 本身获取数据,也可以从具有完全 Firehose 访问权限的数据提供者获取数据。 DataSift 和 Gnip 是对 Firehose 具有完全访问权限的提供程序。如果您想使用数据提供程序,DataSift 是最好的选择,因为它自己的查询语言非常酷。

    如果您自己检索数据。

    • 首先,如果您想实时获取推文,您需要使用 Twitter Streaming API,而 Twitter4j 使其非常易于使用。但不幸的是,Streaming API 不支持国家或语言过滤。您可以收听您注册的搜索查询的 Streaming API。

    • 1234563在语言上是更有用的方法。例如,过滤 en、fr 等的推文。

    希望这会有所帮助。

    【讨论】:

    • 我应该付费从 datasift 获取推文吗?我可以申请推特成为火马吗?当使用 datasift 或类似的东西时,每当他们发推文时,我会得到来自世界的所有推文吗?
    • 问题是 Twitter Firehose 仅​​对选定的合作伙伴开放。除非您是一家非常认真的公司,否则无法申请 :) 如果您想访问所有当前和过去的推文,只需使用 Datasift。但是,如果您只想使用当前的推文,请使用 Twitter 流 API,尽管它没有您需要的过滤功能。
    • 只是为了添加到 Serdar - 与 firehose 相比,流 api 提供了非常小的推文子集。
    【解决方案2】:

    您想使用search API。但是,API 不允许按国家/地区搜索,只能按地理编码搜索。

    【讨论】:

      【解决方案3】:

      在 Twitter4J 中

      你可以这样获取位置。

      tweet.getUser().getLocation()

      但它会获取用户的位置输入字段。

      【讨论】:

        猜你喜欢
        • 2016-03-18
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        • 1970-01-01
        • 1970-01-01
        • 2012-12-17
        • 2018-04-02
        • 2018-11-03
        相关资源
        最近更新 更多