在Java的时间段内从一个国家获取所有推文

时间:2012-07-19 05:50:26

标签: java twitter twitter4j

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

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

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

如果你要使用Java Twitter4j是你最好的镜头。

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

您可以从Twitter本身获取数据,也可以从具有完整Firehose Access的数据提供程序获取数据。 DataSift和Gnip是那些对Firehose有完全访问权限的提供者。如果你想使用数据提供者,DataSift是一种可行的方式,因为它有自己的查询语言,非常酷。

如果您自己检索数据。

  • 首先,如果你想要实时获取推文,你需要使用Twitter Streaming API和Twitter4j使它真的很容易使用它。但不幸的是,Streaming API不支持国家或语言过滤。你可以听您注册的搜索查询的Streaming API。

  • 你的第二个选项是搜索API.Twitter4j也使得使用搜索API变得非常简单。搜索API支持更多的过滤选项。但是没有任何方法可以过滤国家的推文。但不是根据过滤推文取决于关于语言是更有用的方法。例如,过滤en,fr等推文。

希望这有帮助。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在Twitter4J

你可以得到这样的位置。

tweet.getUser()。的getLocation()

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