如何通过GeoCode(带Radius)从爬网中将Twitter数据直接导入数据库



我指的是这个线程:

Twitter-查询特定地理位置半径范围内的推文

但我的问题是,我想直接将它导入数据库MySQL,而不是System.out.println。如何做到这一点?

到目前为止,我有这样的代码:

stmt = conne.prepareStatement("INSERT INTO tweet(ID,date,name,text) VALUES (?,?,?,?)");
stmt.setInt(1, (int) status.getId());
stmt.setString(2, getTimeStamp());
stmt.setString(3, status.getUser().getScreenName());
Query query = new Query("india");
GeoLocation location = new GeoLocation(20.593684, 78.962880);
String unit = Query.KILOMETERS;
query.setGeoCode(location, 2, unit);
QueryResult result;
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets){
stmt.setString(4, status.getText());
}

然后,我看到这样的输出错误:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Cannot use this builder any longer, build() has already been called

我发现我有两个build((,一个用于TwitterStream,另一个用于Twitter工厂:

TwitterStream twitterStream5 = new TwitterStreamFactory(cb5.build()).getInstance();
TwitterFactory tf = new TwitterFactory(cb5.build());
Twitter twitter = tf.getInstance();

但是,我仍然不知道如何纠正它。感谢您的评论!

我发现我有两个build((,一个用于TwitterStream,另一个用于Twitter工厂:

问题更多地在于生成器本身:在调用build()之后,您无法重用它。你应该有两个独立的建设者。

最新更新