【发布时间】:2020-05-20 05:46:54
【问题描述】:
我目前正在为我的学校项目开发一个 Twitter 爬虫。我通过谷歌搜索了很多解决方案。这就是我最终得出的结果,但总是显示错误推文无法解决。我在编码方面不是很有经验,如果有人可以帮助我,我将非常感激谢谢。这是我的代码:
import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;
public class Main {
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("***")
.setOAuthConsumerSecret("***")
.setOAuthAccessToken("***")
.setOAuthAccessTokenSecret("***");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
// twitter.updateStatus("Testing Twitter API");
Query query = new Query("#iphone7");
query.setCount(100);
try {
QueryResult result = twitter.search(query);
tweets.addAll(result.getTweets());
System.out.println("Gathered " + tweets.size() + " tweets");
} catch (TwitterException te) {
System.out.println("Couldn't connect: " + te.toString());
}
}
}
【问题讨论】:
-
看起来你在尝试使用之前没有声明变量 tweets。
-
tweets仍未声明。 -
我不太确定要声明什么推文,因为我找到的任何解决方案都没有解释它,但似乎我必须将其声明为 ArrayList。
-
@Clement 使用这个
List<Status> tweets = new ArrayList<>();