Twitter hbc API:如何获取个人推文文本?
Twitter hbc API: how to get the individual tweet texts?
我打算在学校使用 Twitter 进行一些语义文本分析 class。我下载了 Java 的 Hosebird 客户端 运行 FilterStreamExample.java: https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/FilterStreamExample.java
运行 它,我得到了很多关于用户个人资料、他们的设置、背景图片等的数据。我只想要推文。也许还有位置和用户名。
这可能是一个愚蠢的问题,但如何让它只显示 "texts" 信息?现在,它只是打印出所有内容。
// Do whatever needs to be done with messages
for (int msgRead = 0; msgRead < 1000; msgRead++) {
String msg = queue.take();
System.out.println(msg);
}
我或许可以在字符串本身中搜索 "text",但这似乎有点麻烦。有没有更好的办法呢?
来自 twitter Streaming API 的响应是 JSON 字符串。将字符串解析为 JSON 对象,并从键 "text"
中获取值
import org.json.*;
for (int msgRead = 0; msgRead < 1000; msgRead++) {
String msg = queue.take();
JSONObject obj = new JSONObject(msg);
String text= obj.getString("text");
System.out.println(msg);
}
*Not Tested
在Java中解析JSON参考如下
How to parse JSON in Java
我打算在学校使用 Twitter 进行一些语义文本分析 class。我下载了 Java 的 Hosebird 客户端 运行 FilterStreamExample.java: https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/FilterStreamExample.java
运行 它,我得到了很多关于用户个人资料、他们的设置、背景图片等的数据。我只想要推文。也许还有位置和用户名。
这可能是一个愚蠢的问题,但如何让它只显示 "texts" 信息?现在,它只是打印出所有内容。
// Do whatever needs to be done with messages
for (int msgRead = 0; msgRead < 1000; msgRead++) {
String msg = queue.take();
System.out.println(msg);
}
我或许可以在字符串本身中搜索 "text",但这似乎有点麻烦。有没有更好的办法呢?
来自 twitter Streaming API 的响应是 JSON 字符串。将字符串解析为 JSON 对象,并从键 "text"
中获取值import org.json.*;
for (int msgRead = 0; msgRead < 1000; msgRead++) {
String msg = queue.take();
JSONObject obj = new JSONObject(msg);
String text= obj.getString("text");
System.out.println(msg);
}
*Not Tested
在Java中解析JSON参考如下 How to parse JSON in Java