使用流API来提取最大的推文 [英] Using streaming api for extracting maximum tweets

查看:67
本文介绍了使用流API来提取最大的推文的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在一些编程网站中,我看到有可能使用流API获取最大的推文。从那,我试图使用流API获取推文...

为什么我收到此错误



线程main中的异常java.lang.IncompatibleClassChangeError:类TwitterStreamingAPI $ 1在java上有超级类接口twitter4j.StatusListener

。 lang.ClassLoader.defineClass1(本机方法)

at java.lang.ClassLoader.defineClass(ClassLoader.java:760)

at java.security.SecureClassLoader.defineClass(SecureClassLoader .java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)

at java.net.URLClassLoader.access $ 100(URLClassLoader.java: 73)

在java.net.URLClassLoader $ 1.run(URLClassLoader.java:368)

在java.net.URLClassLoader $ 1.run(URLClassLoader.java:362)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass( URLClassLoader.java:361)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher。 java:331)

在java.lang.ClassLoader.loadClass(ClassLoader.java:357)

在TwitterStreamingAPI.main(TwitterStreamingAPI.java:15)

C:\ Users \ Acer \ AppData \ Local \ NetBeans \Cache \8.1 \executor-snippets\run.xml:53:Java返回:1



我尝试了什么:



in some programming sites i saw that it is possible to get maximum tweets using streaming api..from that,i tried to get tweets using streaming api...
why i am getting this error

Exception in thread "main" java.lang.IncompatibleClassChangeError: class TwitterStreamingAPI$1 has interface twitter4j.StatusListener as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at TwitterStreamingAPI.main(TwitterStreamingAPI.java:15)
C:\Users\Acer\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1

What I have tried:

import twitter4j.FilterQuery;
import twitter4j.StallWarning;
import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.StatusListener;
import twitter4j.TwitterException;
import twitter4j.TwitterStream;
import twitter4j.TwitterStreamFactory;
import twitter4j.conf.ConfigurationBuilder;

public class TwitterStreamingAPI {
   
    public static void main(String[] args) throws TwitterException{
       
        StatusListener listener = new StatusListener(){
            public void onStatus(Status status) {
                System.out.println(status.getUser().getName() + " : " + status.getText()+ "  Tweeted AT: " + status.getCreatedAt());
            }
            public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}
            public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}
            public void onException(Exception ex) {
                ex.printStackTrace();
            }
        
            public void onScrubGeo(long arg0, long arg1) {
                // TODO Auto-generated method stub
               
            }
       
            public void onStallWarning(StallWarning arg0) {
                // TODO Auto-generated method stub
               
            }           
        };
       
        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true)
         .setOAuthConsumerKey(xxx)
		.setOAuthConsumerSecret(xxx)
		.setOAuthAccessToken(xxx)
		.setOAuthAccessTokenSecret(xxx);
       
        TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());
        TwitterStream twitterStream = tf.getInstance();
        twitterStream.(listener);
       
        FilterQuery filtre = new FilterQuery();
        String[] keywordsArray = { "india" }; //filter based on your choice of keywords
        filtre.track(keywordsArray);
        twitterStream.filter(filtre);       
    }      
}

推荐答案

1将接口twitter4j.StatusListener作为超类

在java.lang.ClassLoader.defineClass1(本机方法)

在java.lang.ClassLoader.defineClass(ClassLoader.java:760)

在java.security.SecureClassLoader .defineClass(SecureClassLoader.java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)

at java.net.URLClassLoader.access
1 has interface twitter4j.StatusListener as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access


100(URLClassLoader.java:73)
java.net.URLClassLoader上的
100(URLClassLoader.java:73)
at java.net.URLClassLoader


1.run(URLClassLoader.java: 368)
java.net.URLClassLoader上的
1.run(URLClassLoader.java:368)
at java.net.URLClassLoader


这篇关于使用流API来提取最大的推文的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆