List of usage examples for twitter4j QueryResult nextQuery
Query nextQuery();
From source file:tweet.Miner.java
License:Apache License
/** * Usage: java twitter4j.examples.search.SearchTweets [query] * * @param toSearch //w w w. j a v a2 s .c o m */ public List<Status> mine(String toSearch) { List<Status> results = new ArrayList<Status>(); ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true).setOAuthConsumerKey(CONSUMER_KEY).setOAuthConsumerSecret(CONSUMER_SECRET) .setOAuthAccessToken(OAUTH_ACCESS_TOKEN).setOAuthAccessTokenSecret(OAUTH_ACCESS_TOKEN_SECRET); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); try { Query query = new Query(toSearch); query.setCount(100); QueryResult result; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); results.addAll(result.getTweets()); for (Status tweet : tweets) { System.out.println( tweet.getId() + " @ " + tweet.getUser().getScreenName() + " - " + tweet.getText()); } } while ((query = result.nextQuery()) != null); } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to search tweets: " + te.getMessage()); } catch (Exception e) { e.printStackTrace(); } return results; }
From source file:tweetcrawling.TweetCrawler.java
public void getTweets(TwitterConfiguration tc_) throws IOException, InterruptedException { try {//from w ww .j av a 2s . c om for (String query_ : Queries) { // Ngambil tweet dari tiap page lalu disimpan di Statuses int maxTweetCrawled = 3240; // This is the number of the latest tweets that we can crawl, specified by Twitter Query query = new Query(query_); query.setLang("id"); QueryResult result; do { rateLimitHandler(tc_, "/search/tweets"); // Check rate limit first //System.out.println("kanya sini"); result = tc_.getTwitter().search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { ArrayList<String> ValToWrite = getValueToWrite(tweet); writeValue(ValToWrite, OutputFile); System.out.println( "@" + tweet.getUser().getScreenName() + " - " + tweet.getText().replace("\n", " ")); } addStatuses(tweets); } while ((query = result.nextQuery()) != null); //printTweets(OutputFile); // Printing out crawling result per page of this keywords //emptyStatuses(); // Empty out the current attribute Statuses so that it can be used for other keywords } } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to get timeline: " + te.getMessage()); if (te.exceededRateLimitation()) { System.out.println("Rate limit status: " + te.getRateLimitStatus()); } System.exit(-1); } }
From source file:tweetmining.MiningFunctions.java
/** * This method mines data from youw twitter account based on the query string that you pass by * parameters.//from w w w .j a va2s . c o m * @param query Query you want to place. * @throws FileNotFoundException * @throws TwitterException */ public void MineFromQuery(String query) throws FileNotFoundException, TwitterException { Query q = new Query(query); QueryResult r; q.count(100); do { r = twitter.search(q); List<Status> statuses = r.getTweets(); for (Status st : statuses) { GeoLocation loc = st.getGeoLocation(); if (loc != null) { System.out.println("Loc not null"); Double lat = loc.getLatitude(); Double lon = loc.getLongitude(); pw.println(lat.toString() + ";" + lon.toString() + ";" + st.getUser().getName()); } } q = r.nextQuery(); } while (r.hasNext()); }
From source file:tweets_stock_price_prediction.TweetsManager.java
public ArrayList<String> getTweets(String topic, String fromDate, String toDate) { //Twitter twitter = new TwitterFactory().getInstance(); System.out.println("*** TWITTER QUERY: " + topic); ArrayList<String> tweetList = new ArrayList<String>(); try {//from w w w . ja v a 2s. c o m Query query = new Query(topic); query.setLang("en"); //query.setCount(count); query.setSince(fromDate); query.setUntil(toDate); QueryResult result; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { //System.out.print("LANGUAGE " + tweet.getLang() + "\n\n"); //if (tweet.getLang().equals("en")) { tweetList.add(tweet.getText()); //} } } while ((query = result.nextQuery()) != null); } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to search tweets: " + te.getMessage()); } System.out.println("************ TWEET LIST: " + tweetList.size()); return tweetList; }
From source file:twitterapidemo.TwitterAPIDemo.java
License:Apache License
public static void main(String[] args) throws IOException, TwitterException { //TwitterAPIDemo twitterApiDemo = new TwitterAPIDemo(); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(consumerKey); builder.setOAuthConsumerSecret(consumerSecret); Configuration configuration = builder.build(); TwitterFactory twitterFactory = new TwitterFactory(configuration); Twitter twitter = twitterFactory.getInstance(); twitter.setOAuthAccessToken(new AccessToken(accessToken, accessTokenSecret)); Scanner sc = new Scanner(System.in); System.out.println(// ww w. j a v a 2 s .co m "Enter your choice:\n1. To post tweet\n2.To search tweets\n3. Recent top 3 trends and number of posts of each trending topic"); int choice = sc.nextInt(); switch (choice) { case 1: System.out.println("What's happening: "); String post = sc.next(); StatusUpdate statusUpdate = new StatusUpdate(post + "-Posted by TwitterAPI"); Status status = twitter.updateStatus(statusUpdate); System.out.println("status.toString() = " + status.toString()); System.out.println("status.getInReplyToScreenName() = " + status.getInReplyToScreenName()); System.out.println("status.getSource() = " + status.getSource()); System.out.println("status.getText() = " + status.getText()); System.out.println("status.getContributors() = " + Arrays.toString(status.getContributors())); System.out.println("status.getCreatedAt() = " + status.getCreatedAt()); System.out.println("status.getCurrentUserRetweetId() = " + status.getCurrentUserRetweetId()); System.out.println("status.getGeoLocation() = " + status.getGeoLocation()); System.out.println("status.getId() = " + status.getId()); System.out.println("status.getInReplyToStatusId() = " + status.getInReplyToStatusId()); System.out.println("status.getInReplyToUserId() = " + status.getInReplyToUserId()); System.out.println("status.getPlace() = " + status.getPlace()); System.out.println("status.getRetweetCount() = " + status.getRetweetCount()); System.out.println("status.getRetweetedStatus() = " + status.getRetweetedStatus()); System.out.println("status.getUser() = " + status.getUser()); System.out.println("status.getAccessLevel() = " + status.getAccessLevel()); System.out.println("status.getHashtagEntities() = " + Arrays.toString(status.getHashtagEntities())); System.out.println("status.getMediaEntities() = " + Arrays.toString(status.getMediaEntities())); if (status.getRateLimitStatus() != null) { System.out.println( "status.getRateLimitStatus().getLimit() = " + status.getRateLimitStatus().getLimit()); System.out.println("status.getRateLimitStatus().getRemaining() = " + status.getRateLimitStatus().getRemaining()); System.out.println("status.getRateLimitStatus().getResetTimeInSeconds() = " + status.getRateLimitStatus().getResetTimeInSeconds()); System.out.println("status.getRateLimitStatus().getSecondsUntilReset() = " + status.getRateLimitStatus().getSecondsUntilReset()); } System.out.println("status.getURLEntities() = " + Arrays.toString(status.getURLEntities())); System.out.println( "status.getUserMentionEntities() = " + Arrays.toString(status.getUserMentionEntities())); break; case 2: System.out.println("Enter keyword"); String keyword = sc.next(); try { Query query = new Query(keyword); QueryResult result; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { System.out.println(tweet.getCreatedAt() + ":\t@" + tweet.getUser().getScreenName() + " - " + tweet.getText()); } } while ((query = result.nextQuery()) != null); System.exit(0); } catch (TwitterException te) { System.out.println("Failed to search tweets: " + te.getMessage()); System.exit(-1); break; } case 3: //WOEID for India = 23424848 Trends trends = twitter.getPlaceTrends(23424848); int count = 0; for (Trend trend : trends.getTrends()) { if (count < 3) { Query query = new Query(trend.getName()); QueryResult result; int numberofpost = 0; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { numberofpost++; } } while ((query = result.nextQuery()) != null); System.out .println("Number of post for the topic '" + trend.getName() + "' is: " + numberofpost); count++; } else break; } break; default: System.out.println("Invalid input"); } }
From source file:TwitterDownload.TwitterHandler.java
public List<Status> getSearchTweets(String searchPhrase, int pageSize) { if (pageSize > 18000) pageSize = 18000;//from w w w. j ava 2s. c om ArrayList<Status> tweets = new ArrayList<Status>(); //boolean last = false; try { Query query = new Query(searchPhrase); int limit = getRemainingSearchRateLimit(); while (tweets.size() < pageSize && query != null && limit > 0) { if (pageSize - tweets.size() > 100) query.setCount(100); else query.setCount(pageSize - tweets.size()); QueryResult result = twitter.search(query); tweets.addAll(result.getTweets()); query = result.nextQuery(); limit = getRemainingSearchRateLimit(); } return (List<Status>) tweets; } catch (TwitterException ex) { String s = ex.toString(); if (ex.exceededRateLimitation()) return null; } catch (IllegalStateException ex) { String s = ex.toString(); } return null; }
From source file:twitterrest.SearchTweet.java
License:Apache License
public static void main(String[] args) throws TwitterException { //?/*from ww w . j a v a2 s . com*/ Configuration configuration = new ConfigurationBuilder().setOAuthConsumerKey(CONSUMER_KEY) .setOAuthConsumerSecret(CONSUMER_SECRET).setOAuthAccessToken(ACCESS_TOKEN) .setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET).build(); Twitter twitter = new TwitterFactory(configuration).getInstance(); Query query = new Query(); try { File file = new File("./file/tweets.txt"); PrintWriter pw; //??? pw = new PrintWriter(new BufferedWriter(new FileWriter(file, true))); // ??? query.setQuery("?"); query.setLang("ja"); // 1????Tweet?100? query.setCount(100); //????????? //query.setSince("2013-06-13"); //query.setUntil("2013-06-17"); // 150015 for (int i = 1; i <= 15; i++) { // QueryResult result = twitter.search(query); System.out.println(": " + result.getTweets().size()); System.out.println(" : " + new Integer(i).toString()); // ??? for (Status tweet : result.getTweets()) { // String str = tweet.getText(); System.out.println(str); // System.out.println(tweet.getUser()); // System.out.println(tweet.getCreatedAt()); // ??URL? StringTokenizer sta = new StringTokenizer(str, " "); //? while (sta.hasMoreTokens()) { String wk = sta.nextToken(); if (wk.indexOf("#") == -1 && wk.indexOf("http") == -1 && wk.indexOf("RT") == -1 && wk.indexOf("@") == -1) { pw.println(wk); } } String u = tweet.getUser().getName(); pw.println(u); } if (result.hasNext()) { query = result.nextQuery(); } else { break; } } pw.close(); } catch (IOException e) { e.printStackTrace(); } }
From source file:twittynumnum.BackwardGrinder.java
public void grind(String queryString) { try {// w ww .ja va 2s .com Query query = new Query(queryString); QueryResult result; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText() + " - " + tweet.getCreatedAt()); } } while ((query = result.nextQuery()) != null); System.exit(0); } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to search tweets: " + te.getMessage()); System.exit(-1); } }
From source file:uniandes.edu.twitterreader.TwitterApp.java
/** * Reads all twetts accoding to TWITTER_QUERIES with JSON format and inserts * in MongoDB collection// w ww .j a va 2 s .c o m * * @param writesFile writes an additional file in TWEETS_PATH if true */ public void readColombiaTopics(boolean writesFile) { PrintWriter writer = null; try { if (writesFile) { writer = new PrintWriter(TWEETS_PATH, "UTF-8"); } for (String queryString : TWITTER_QUERIES) { Query query = new Query(queryString); query.setSince(QUERY_SINCE_DATE); query.setUntil(QUERY_LAST_DATE); QueryResult result; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { String jsonTweet = TwitterObjectFactory.getRawJSON(tweet); if (writesFile && writer != null) { writer.println(jsonTweet); } mongoCollection.insertOne(Document.parse(jsonTweet)); } } while ((query = result.nextQuery()) != null); } } catch (FileNotFoundException | UnsupportedEncodingException | TwitterException ex) { Logger.getLogger(TwitterApp.class.getName()).log(Level.SEVERE, null, ex); } finally { if (writesFile && writer != null) { writer.close(); } } }
From source file:wap.twitter.model.TwitterUtility.java
public List<Tweet> getTweets(String news) { TwitterFactory tf = config();/*from w ww . j a va 2 s . co m*/ Twitter twitter = tf.getInstance(); try { List<Tweet> tws = new ArrayList<Tweet>(); int i = 0; Query query = new Query("#" + news); QueryResult result; do { result = twitter.search(query); List<Status> tweets = result.getTweets(); for (Status tweet : tweets) { Tweet tw = new Tweet(); if (i == 8) { break; } else { tw.setTitle(news); tw.setUser(tweet.getUser().getScreenName()); tw.setUrl(tweet.getSource()); tw.setImage(tweet.getUser().getProfileImageURL()); tw.setBody(tweet.getText()); tw.setSource(tweet.getSource()); tw.setId(tweet.getId() + ""); i++; } System.out.println("******************* " + tweet.getGeoLocation()); tws.add(tw); } } while ((query = result.nextQuery()) != null); return tws; } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to search tweets: " + te.getMessage()); System.exit(-1); } return null; }