使用流API来提取最大的推文 [英] Using streaming api for extracting maximum tweets
问题描述
在一些编程网站中,我看到有可能使用流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屋!