繁体   English   中英

Twitter4j获取推文的JSON格式

[英]Twitter4j get JSON format for tweets

我正在检索推文并将其存储在文本文件中。 而不是以纯文本字符串格式检索推文,而是如何为状态对象检索JSON格式的推文。 检索完成后,我将上传到Oracle数据库,这需要将JSON格式更改为.csv文件。 纯文本是不可能的。 我的代码低于任何帮助,将不胜感激。

p public static void main(String[] args) {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
        .setOAuthConsumerKey("")
        .setOAuthConsumerSecret("")
        .setOAuthAccessToken("")
        .setOAuthAccessTokenSecret("");

    StatusListener listener = new StatusListener(){

        public void onStatus(Status status) { 
            long iD = status.getId(); 
            String username = status.getUser().getScreenName(); 
            String tweetText = status.getText(); 
            Date createdAt = status.getCreatedAt();  
            System.out.println(iD+" "+username+" "+tweetText+" "+createdAt);
            String text = iD+" "+username+""+tweetText+" "+createdAt; 
            try {

                PrintWriter pw = new PrintWriter(new FileWriter("TwitterTweetData.txt", true));
                pw.println(text);
                pw.close();
              } catch ( IOException e ) {
                 e.printStackTrace();
              }

        }

        public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}

        public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}

        public void onException(Exception ex) {
            ex.printStackTrace();
        }
        public void onScrubGeo(long arg0, long arg1) {}

        public void onStallWarning(StallWarning arg0) {}            
    };

    TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());
    TwitterStream twitterStream = tf.getInstance();
    twitterStream.addListener(listener);

    FilterQuery filtre = new FilterQuery();
    String[] keywordsArray = {"#Hello"}; // Removed Hashtags I'll be using 
    filtre.track(keywordsArray);
    twitterStream.filter(filtre);  
}

}

这是在这里写状态..:

  PrintWriter pw = new PrintWriter(new FileWriter("TwitterTweetData.txt", true));
  pw.println(status);
  pw.close();

您的意思是替换pw.println(status); 通过

 pw.println(DataObjectFactory.getRawJSON(status));

上面的“ phiX”答案将为您提供Json的整个Tweet。 如果你只是想鸣叫作为JSON的某些特定部位,检查出。 下载项目,根据需要修改com.tweetDownload.dataformat.Tweet和com.tweetDownload.service.CustomStatusListener文件。

库的主要作用是根据搜索词(包括主题标签和提及内容)以及Twitter识别的语言下载推文,根据数据格式类解析相关信息,然后将该信息转换为Json格式并将其存储在本地文件系统上。 从项目属性文件中读取所有这些应用程序参数,包括Twitter OAuth凭据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM