我想使用Twitter4J在Twitter上获取用户地理位置的信息。
我使用tweet.getUser.getLocation()
,但这给了我错误的地理位置。
// create ConfigurationBuilder class variables "cb"
// Create Twitter Factory
TwitterFactory twitterFactory = new TwitterFactory(cb.build());
Twitter twitter = twitterFactory.getInstance();
try {
Query query = new Query("범죄");
QueryResult result;
int twittNum = 1;
do {
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("===========================================================================================================");
System.out.println("["+twittNum+"] 번째 트윗");
System.out.println("유저이름1:"+tweet.getUser().getName());
System.out.println("트윗장소:"+tweet.getUser().getLocation());
System.out.println("트윗언어:"+tweet.getUser().getLang());
System.out.println("트윗시간?:"+tweet.getUser().getCreatedAt());
System.out.println("===========================================================================================================");
twittNum++;
}
} while ((query = result.nextQuery()) != null);
System.exit(0);
} catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
}
答案 0 :(得分:1)
错误的位置是什么意思?
Twitter4j只是Twitter APi的Java实现,来自documentation:
位置: Nullable 。此帐户的配置文件的用户定义位置。不一定是位置也不是可解析的。搜索服务偶尔会对此字段进行模糊解释。
这意味着tweet.getUser.getLocation()
会从用户那里获取位置,而不是地理位置(就像在某些推文上一样)。您无法从用户获取真实位置,位置字段是来自用户的输入(string
),因此它可以是任何内容。如果您心中有 ,桥下或其他不太具体的内容,例如 Korea 或 the world 这并不意味着这是错误的,它只是人们所写的。