List of usage examples for twitter4j QueryResult getTweets
List<Status> getTweets();
From source file:twittynumnum.BackwardGrinder.java
public void grind(String queryString) { try {/* w w w.j ava2 s .c o m*/ 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:uk.ac.essex.wonderland.modules.twitter.client.TwitterCell.java
License:Open Source License
private void updateQueryResult(QueryResult queryResult) { ui.setQueryString(queryResult.getQuery()); @SuppressWarnings("unchecked") List<Tweet> tweetList = queryResult.getTweets(); for (Tweet tweet : tweetList) { try {//from w ww .j a v a2s . c om tweetQueue.put(tweet); } catch (InterruptedException ex) { Logger.getLogger(TwitterCell.class.getName()).log(Level.SEVERE, "Failed to put tweet", ex); } } }
From source file:uk.ac.essex.wonderland.modules.twitter.client.TwitterCell.java
License:Open Source License
@SuppressWarnings("unchecked") List<Tweet> getTweetList() { QueryResult result = clientState.getQueryResult(); if (result != null) { return result.getTweets(); } else {/* ww w . j a v a 2s. co m*/ return null; } }
From source file:uk.ac.essex.wonderland.modules.twitter.client.TwitterPanel.java
License:Open Source License
private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchButtonActionPerformed if (DEBUG) {/*from w ww.j a v a 2s . c o m*/ String queryString = queryField.getText().trim(); if (queryString.isEmpty()) { return; } Query query = new Query(queryString); query.setLang("en"); Twitter twitter = new TwitterFactory().getInstance(); try { QueryResult result = twitter.search(query); String warning = result.getWarning(); if (warning != null) { System.err.println(warning); } @SuppressWarnings("unchecked") List<Tweet> tweets = result.getTweets(); for (Tweet tweet : tweets) { addTweet(tweet); } } catch (TwitterException ex) { Logger.getLogger(TwitterPanel.class.getName()).log(Level.SEVERE, null, ex); } } else { String query = queryField.getText().trim(); if (!query.isEmpty()) { cell.performQuery(query); } } }
From source file:uk.ac.susx.tag.method51.twitter.pipeline.TweetSearch.java
License:Apache License
@Override protected void doWork() throws Exception { try {/*from w w w . ja va2 s . co m*/ final QueryResult result = twitter.search(query); final List<Status> statuses = result.getTweets(); final List<Tweet> tweets = new ArrayList<>(); for (final Status status : statuses) { getStats().update(status); final Tweet tweet = new Tweet(status); //strip out descs and urls if (!incProfileDescriptionUrl) { tweet.setDescription(null); tweet.setUrl(null); } tweets.add(tweet); } LOG.info("got {} tweets", tweets.size()); long minId = getStats().getMinId(); LOG.info("min id {}", new DateTime(Util.getInfoFromId(minId)[0]).toString("yyyy-MM-dd HH:mm:ss")); getStats().incrementTotal(tweets.size()); LOG.info("{} / {} = {} tps", getStats().getTotal(), getStats().getDuration(TimeUnit.SECONDS), getStats().getTweetsPer(TimeUnit.SECONDS)); produce(tweets); if (false && !result.hasNext()) { throw new ProducerUnderflowException("No more search result available."); } else if (tweets.size() == 0) { throw new ProducerUnderflowException("No more search result available."); } else if (searchRequested >= 0 && getStats().getTotal() >= searchRequested) { throw new ProducerUnderflowException("Reached requested size."); } else { query.setMaxId(getStats().getMinId() - 1); //query = result.nextQuery(); } } catch (final TwitterException e) { switch (e.getStatusCode()) { case 130: { //over-capacity LOG.warn(e.getMessage()); query.setMaxId(getStats().getMinId()); int retryAfter = 60; LOG.info("rate limited - sleeping for {} seconds", retryAfter); Thread.sleep(1000 * (retryAfter + 1)); break; } case 403: query.setMaxId(getStats().getMinId()); LOG.info("ID reached: {}", getStats().getMinId()); LOG.warn(e.getMessage()); throw e; //break; case 420: LOG.info("rate limited - sleeping for 60 seconds", e); Thread.sleep(60000); break; case 429: LOG.error("", e); Map<String, RateLimitStatus> rateLimitStatus = twitter.getRateLimitStatus(); int retryAfter = rateLimitStatus.get("/search/tweets").getSecondsUntilReset(); LOG.info("rate limited - sleeping for {} seconds", retryAfter); Thread.sleep(1000 * (retryAfter + 1)); break; default: throw e; } } catch (Method51Exception e) { setStateFailure(e); } }
From source file:uniandes.cupi2.tweetSpy.mundo.TweeSpy.java
License:Academic Free License
/** * Retorna la lista de Usuarios que se encuantran en cierto indice. * @param indice/* w ww . ja v a 2 s. co m*/ * @return */ public ListaDoblementeEncadenada<Usuario> darUsuariosEnIndice(String indice) { ListaDoblementeEncadenada<Usuario> listaIndice = new ListaDoblementeEncadenada<Usuario>(); try { //Para buscaar por indices Query query = new Query(indice); QueryResult result; result = user.search(query); List<Status> tweets = result.getTweets(); for (int i = 0; i < tweets.size(); i++) { Status tweet = (Status) tweets.get(i); String nombre = tweet.getUser().getName(); Usuario nuevoAmigo = new Usuario(nombre, "", ""); listaIndice.agregarFinal(nuevoAmigo); } // contenedor? } catch (Exception e) { } return listaIndice; }
From source file:uniandes.edu.twitterreader.TwitterApp.java
/** * Reads all twetts accoding to TWITTER_QUERIES with JSON format and inserts * in MongoDB collection/*from w ww . j a v a 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:uta.ak.CollectTweets.java
public void collectTweetsByFileList(String sinceDate, String untilDate, String tag) { try {//from w w w . ja v a 2 s . c o m // The factory instance is re-useable and thread safe. System.out.println("Start to collect tweets from :"); Set<String> mediaList = new HashSet<String>(); Resource res = new ClassPathResource("new-social-meida-list.txt"); // File stopwords=res.getFile(); // File stopwords=new File("/Users/zhangcong/dev/corpus/StopWordTable2.txt"); InputStreamReader isr = new InputStreamReader(res.getInputStream()); // File medias=new File(path); // BufferedReader mdsreader = new BufferedReader(new FileReader(medias)); BufferedReader mdsreader = new BufferedReader(isr); String tempString = mdsreader.readLine(); while ((tempString = mdsreader.readLine()) != null) { System.out.println(tempString.toLowerCase()); mediaList.add(tempString.toLowerCase()); } ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true).setOAuthConsumerKey("LuhVZOucqdHX6x0lcVgJO6QK3") .setOAuthConsumerSecret("6S7zbGLvHMXDMgRXq7jRIA6QmMpdI8i5IJNpnjlB55vpHpFMpj") .setOAuthAccessToken("861637891-kLunD37VRY8ipAK3TVOA0YKOKxeidliTqMtNb7wf") .setOAuthAccessTokenSecret("vcKDxs6qHnEE8fhIJr5ktDcTbPGql5o3cNtZuztZwPYl4"); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); /* Connection con = null; //MYSQL Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/USTTMP", "root", "root.123"); //MYSQL System.out.println("connection yes"); String insertSQL="INSERT INTO c_rawtext(mme_lastupdate, mme_updater, title, text, tag, text_createdate) " + "VALUES (NOW(), \"AK\", ?, ?, ?, ?)"; PreparedStatement insertPS = con.prepareStatement(insertSQL); */ //?usttmp?? String restUrl = "http://192.168.0.103:8991/usttmp_textreceiver/rest/addText"; Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (String mediastr : mediaList) { Query query = new Query("from:" + mediastr); query.setSince(sinceDate); query.setUntil(untilDate); query.setCount(100); query.setLang("en"); QueryResult result = twitter.search(query); for (Status status : result.getTweets()) { System.out.println("@" + status.getUser().getScreenName() + " | " + status.getCreatedAt().toString() + ":" + status.getText()); System.out.println("Inserting the record into the table..."); String formattedDate = format1.format(status.getCreatedAt()); /* insertPS.setString (1, status.getUser().getScreenName()); insertPS.setString (2, status.getText()); insertPS.setString (3, tag); insertPS.setString (4, formattedDate); insertPS.addBatch();*/ // if(null!=status.getText()){ // break; // } String interfaceMsg = "<message> " + " <title> " + ((null != status.getUser().getScreenName()) ? status.getUser().getScreenName() : "NO TITLE") + " </title> " + " <text> " + StringEscapeUtils.escapeXml10(status.getText()) + " </text> " + " <textCreatetime> " + formattedDate + " </textCreatetime> " + " <tag> " + tag + " </tag> " + "</message>"; // String restUrl="http://127.0.0.1:8991/usttmp_textreceiver/rest/addText"; RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_XML); headers.setAccept(Arrays.asList(MediaType.TEXT_XML)); // headers.setContentLength(); HttpEntity<String> entity = new HttpEntity<String>(interfaceMsg, headers); ResponseEntity<String> resresult = restTemplate.exchange(restUrl, HttpMethod.POST, entity, String.class); System.out.println(resresult.getBody()); if (resresult.getBody().contains("<result>failed</result>")) { throw new RuntimeException("response message error"); } } } // System.out.println("Start to insert records..."); // insertPS.clearParameters(); // int[] results = insertPS.executeBatch(); } catch (Exception te) { te.printStackTrace(); System.out.println("Failed: " + te.getMessage()); System.exit(-1); } }
From source file:uta.ak.CollectTweets.java
public void collectTweetsByKeyWords(String keyWords, String sinceDate, String untilDate, String tag) { try {/*from ww w.j a va 2 s . c o m*/ ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true).setOAuthConsumerKey("LuhVZOucqdHX6x0lcVgJO6QK3") .setOAuthConsumerSecret("6S7zbGLvHMXDMgRXq7jRIA6QmMpdI8i5IJNpnjlB55vpHpFMpj") .setOAuthAccessToken("861637891-kLunD37VRY8ipAK3TVOA0YKOKxeidliTqMtNb7wf") .setOAuthAccessTokenSecret("vcKDxs6qHnEE8fhIJr5ktDcTbPGql5o3cNtZuztZwPYl4"); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); Connection con = null; //MYSQL Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/USTTMP", "root", "root.123"); //MYSQL System.out.println("connection yes"); String insertSQL = "INSERT INTO c_rawtext(mme_lastupdate, mme_updater, title, text, tag, text_createdate) VALUES (NOW(), \"AK\", ?, ?, ?, ?)"; PreparedStatement insertPS = con.prepareStatement(insertSQL); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); Query query = new Query(keyWords); query.setSince(sinceDate); query.setUntil(untilDate); query.setCount(100); query.setLang("en"); QueryResult result = twitter.search(query); for (Status status : result.getTweets()) { // System.out.println("@" + status.getUser().getScreenName() + // " | " + status.getCreatedAt().toString() + // ":" + status.getText()); // System.out.println("Inserting the record into the table..."); String formattedDate = format1.format(status.getCreatedAt()); insertPS.setString(1, status.getUser().getScreenName()); insertPS.setString(2, status.getText()); insertPS.setString(3, tag); insertPS.setString(4, formattedDate); insertPS.addBatch(); } System.out.println("Start to insert records..."); insertPS.clearParameters(); int[] results = insertPS.executeBatch(); } catch (Exception te) { te.printStackTrace(); System.out.println("Failed: " + te.getMessage()); System.exit(-1); } }
From source file:wap.twitter.model.TwitterUtility.java
public List<Tweet> getTweets(String news) { TwitterFactory tf = config();//from w w w .j av a 2 s .c o 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; }