java - 使用 TwitterStream 检索推文语言或按语言过滤

标签 java twitter twitter4j

我想使用 TwitterStream 类按语言检索或过滤。我只想获取一种语言的推文或以其他方式检索所有内容,然后识别每种推文语言。

我已经构建了这段代码,但是 getIsoLanguageCode() 总是返回 null(参见版本 3.0.4 JavaDocs)。我认为他们对这种方法有问题。

TwitterStream twitterStream = TwitterPrintRandomStream.createTwitterConnection();
StatusListener listener = new StatusListener() {

    public void onStatus(Status status) {
        String tw =  status.getText() + " " + status.getIsoLanguageCode();
        System.out.println(tw);
    }
    ...
}

我还尝试了 Status.getUser().getLang() 方法,但它返回用户的语言而不是推文。有什么办法吗?

提前致谢。

最佳答案

我认为您不能依赖 iso_language_code - 我在 REST 或流式 API 中找不到对它的引用。

Tweets 确实有一个 lang 属性,该属性指示编写 Tweet 所用的语言。这是 recently added to the API不幸的是,Twitter4J 还没有为您提供访问权限。

有一个task to add it在 3.0.4 版中,但工作似乎尚未开始。不幸的是,您需要等到他们添加它,或者您可以帮助他们并提交拉取请求。

关于java - 使用 TwitterStream 检索推文语言或按语言过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023834/

相关文章:

scala - 无法在 Spark Scala 中导入 org.apache.spark.streaming.twitter

python - 如何使用 tweepy 获取 Twitter 用户的位置?

java - 找不到类 'twitter4j.http.AccessToken'

java - Eclipse 中的重复 .java 文件

java - 在android中转换日期格式?

java - 无法从 flutter 应用程序连接到在 Google Cloud Run 上运行的 Java 后端

html - 如何完全切断因溢出 :hidden 部分隐藏的未知高度的列表元素

neo4j - Neo4j 中计算节点关系的问题

java - 鉴于 Twitter API 速率限制,如何获取至少 10,000 条推文?

java - Eclipse Windows 查看问题