List of usage examples for twitter4j Status getSource
String getSource();
From source file:com.klinker.android.twitter.ui.tweet_viewer.fragments.TweetFragment.java
License:Apache License
public void getInfo(final View favButton, final TextView favCount, final TextView retweetCount, final long tweetId, final View retweetButton) { Thread getInfo = new Thread(new Runnable() { @Override/* w w w .j a v a 2 s. c om*/ public void run() { String location = ""; String via = ""; long realTime = 0; boolean retweetedByMe = false; try { Twitter twitter = Utils.getTwitter(context, settings); TwitterMultipleImageHelper helper = new TwitterMultipleImageHelper(); status = twitter.showStatus(tweetId); ArrayList<String> i = new ArrayList<String>(); if (picture) { i = helper.getImageURLs(status, twitter); } final ArrayList<String> images = i; GeoLocation loc = status.getGeoLocation(); try { Geocoder geocoder = new Geocoder(context, Locale.getDefault()); List<Address> addresses = geocoder.getFromLocation(loc.getLatitude(), loc.getLongitude(), 1); if (addresses.size() > 0) { Address address = addresses.get(0); location += address.getLocality() + ", " + address.getCountryName(); } else { location = ""; } } catch (Exception x) { location = ""; } via = android.text.Html.fromHtml(status.getSource()).toString(); final String sfavCount; if (status.isRetweet()) { twitter4j.Status status2 = status.getRetweetedStatus(); via = android.text.Html.fromHtml(status2.getSource()).toString(); realTime = status2.getCreatedAt().getTime(); sfavCount = status2.getFavoriteCount() + ""; } else { realTime = status.getCreatedAt().getTime(); sfavCount = status.getFavoriteCount() + ""; } retweetedByMe = status.isRetweetedByMe(); final String retCount = "" + status.getRetweetCount(); final String timeDisplay; if (!settings.militaryTime) { timeDisplay = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US).format(realTime) + " " + DateFormat.getTimeInstance(DateFormat.SHORT, Locale.US).format(realTime); } else { timeDisplay = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.GERMAN).format(realTime) + " " + DateFormat.getTimeInstance(DateFormat.SHORT, Locale.GERMAN).format(realTime); } final String fVia = " " + getResources().getString(R.string.via) + " " + via; final String fLoc = location.equals("") ? "" : "\n" + location; final boolean fRet = retweetedByMe; final long fTime = realTime; final Status fStatus = status; ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { // you can't retweet a protected account if (status.getUser().isProtected()) { retweetButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, getString(R.string.protected_account), Toast.LENGTH_SHORT).show(); } }); } retweetCount.setText(" " + retCount); if (retweetButton instanceof ImageButton) { if (fRet) { if (!settings.addonTheme) { ((ImageButton) retweetButton) .setColorFilter(context.getResources().getColor(R.color.app_color)); } else { ((ImageButton) retweetButton).setColorFilter(settings.accentInt); } } else { ((ImageButton) retweetButton).clearColorFilter(); } } else { if (fRet) { if (!settings.addonTheme) { retweetButton.setBackgroundColor( context.getResources().getColor(R.color.app_color)); } else { retweetButton.setBackgroundColor(settings.accentInt); } } else { retweetButton.setBackgroundColor( getResources().getColor(android.R.color.transparent)); } } timetv.setText(timeDisplay + fVia); timetv.append(fLoc); favCount.setText(" " + sfavCount); if (favButton instanceof ImageButton) { if (fStatus.isFavorited()) { TypedArray a = context.getTheme() .obtainStyledAttributes(new int[] { R.attr.favoritedButton }); int resource = a.getResourceId(0, 0); a.recycle(); if (!settings.addonTheme) { ((ImageButton) favButton) .setColorFilter(context.getResources().getColor(R.color.app_color)); } else { ((ImageButton) favButton).setColorFilter(settings.accentInt); } ((ImageButton) favButton) .setImageDrawable(context.getResources().getDrawable(resource)); isFavorited = true; } else { TypedArray a = context.getTheme() .obtainStyledAttributes(new int[] { R.attr.notFavoritedButton }); int resource = a.getResourceId(0, 0); a.recycle(); ((ImageButton) favButton) .setImageDrawable(context.getResources().getDrawable(resource)); isFavorited = false; ((ImageButton) favButton).clearColorFilter(); } } else { if (fStatus.isFavorited()) { TypedArray a = context.getTheme() .obtainStyledAttributes(new int[] { R.attr.favoritedButton }); int resource = a.getResourceId(0, 0); a.recycle(); if (!settings.addonTheme) { favButton.setBackgroundColor( context.getResources().getColor(R.color.app_color)); } else { favButton.setBackgroundColor(settings.accentInt); } isFavorited = true; } else { isFavorited = false; favButton.setBackgroundColor( getResources().getColor(android.R.color.transparent)); } } for (String s : images) { Log.v("talon_image", s); } if (images.size() > 1) { Log.v("talon_images", "size: " + images.size()); try { mAttacher.setOnViewTapListener(new PhotoViewAttacher.OnViewTapListener() { @Override public void onViewTap(View view, float x, float y) { Intent viewPics = new Intent(context, ViewPictures.class); viewPics.putExtra("images", images); startActivity(viewPics); } }); } catch (Exception e) { // addon theme without the attacher profilePic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent viewPics = new Intent(context, ViewPictures.class); viewPics.putExtra("images", images); startActivity(viewPics); } }); } } } }); } catch (Exception e) { } } }); getInfo.setPriority(Thread.MAX_PRIORITY); getInfo.start(); }
From source file:com.raythos.sentilexo.twitter.domain.QueryResultItemMapper.java
License:Apache License
public static Map getFieldsMapFromStatus(String queryOwner, String queryName, String queryString, Status status) { if (queryName != null) queryName = queryName.toLowerCase(); if (queryOwner != null) queryOwner = queryOwner.toLowerCase(); Map m = StatusArraysHelper.getUserMentionMap(status); Map newMap = new HashMap(); for (Object key : m.keySet()) { newMap.put(key.toString(), (Long) m.get(key)); }/*from w w w. ja v a 2s . c o m*/ Double longitude = null; Double lattitude = null; if (status.getGeoLocation() != null) { longitude = status.getGeoLocation().getLongitude(); lattitude = status.getGeoLocation().getLatitude(); } String place = null; if (status.getPlace() != null) { place = status.getPlace().getFullName(); } boolean isRetweet = status.getRetweetedStatus() != null; Long retweetedId = null; String retweetedText = null; if (isRetweet) { retweetedId = status.getRetweetedStatus().getId(); retweetedText = status.getRetweetedStatus().getText(); } Map<String, Object> result = new HashMap<>(); result.put(QueryResultItemFieldNames.STATUS_ID, status.getId()); result.put(QueryResultItemFieldNames.CREATED_AT, status.getCreatedAt()); result.put(QueryResultItemFieldNames.CURRENT_USER_RETWEET_ID, status.getCurrentUserRetweetId()); result.put(QueryResultItemFieldNames.FAVOURITE_COUNT, status.getFavoriteCount()); result.put(QueryResultItemFieldNames.FAVOURITED, status.isFavorited()); result.put(QueryResultItemFieldNames.HASHTAGS, StatusArraysHelper.getHashTagsList(status)); result.put(QueryResultItemFieldNames.IN_REPLY_TO_SCREEN_NAME, (status.getInReplyToScreenName())); result.put(QueryResultItemFieldNames.IN_REPLY_TO_STATUS_ID, status.getInReplyToStatusId()); result.put(QueryResultItemFieldNames.IN_REPLY_TO_USER_ID, status.getInReplyToUserId()); result.put(QueryResultItemFieldNames.LATITUDE, lattitude); result.put(QueryResultItemFieldNames.LONGITUDE, longitude); result.put(QueryResultItemFieldNames.MENTIONS, newMap); result.put(QueryResultItemFieldNames.LANGUAGE, status.getLang()); result.put(QueryResultItemFieldNames.PLACE, place); result.put(QueryResultItemFieldNames.POSSIBLY_SENSITIVE, status.isPossiblySensitive()); result.put(QueryResultItemFieldNames.QUERY_NAME, queryName); result.put(QueryResultItemFieldNames.QUERY_OWNER, queryOwner); result.put(QueryResultItemFieldNames.QUERY, queryString); result.put(QueryResultItemFieldNames.RELEVANT_QUERY_TERMS, TwitterUtils.relevantQueryTermsFromStatus(queryString, status)); result.put(QueryResultItemFieldNames.RETWEET, isRetweet); result.put(QueryResultItemFieldNames.RETWEET_COUNT, status.getRetweetCount()); result.put(QueryResultItemFieldNames.RETWEETED, status.isRetweeted()); result.put(QueryResultItemFieldNames.RETWEETED_BY_ME, status.isRetweetedByMe()); result.put(QueryResultItemFieldNames.RETWEET_STATUS_ID, retweetedId); result.put(QueryResultItemFieldNames.RETWEETED_TEXT, retweetedText); result.put(QueryResultItemFieldNames.SCOPES, StatusArraysHelper.getScopesList(status)); result.put(QueryResultItemFieldNames.SCREEN_NAME, status.getUser().getScreenName()); result.put(QueryResultItemFieldNames.SOURCE, (status.getSource())); result.put(QueryResultItemFieldNames.TEXT, (status.getText())); result.put(QueryResultItemFieldNames.TRUNCATED, status.isTruncated()); result.put(QueryResultItemFieldNames.URLS, StatusArraysHelper.getUrlsList(status)); result.put(QueryResultItemFieldNames.USER_ID, status.getUser().getId()); result.put(QueryResultItemFieldNames.USER_NAME, (status.getUser().getName())); result.put(QueryResultItemFieldNames.USER_DESCRIPTION, (status.getUser().getDescription())); result.put(QueryResultItemFieldNames.USER_LOCATION, (status.getUser().getLocation())); result.put(QueryResultItemFieldNames.USER_URL, (status.getUser().getURL())); result.put(QueryResultItemFieldNames.USER_IS_PROTECTED, status.getUser().isProtected()); result.put(QueryResultItemFieldNames.USER_FOLLOWERS_COUNT, status.getUser().getFollowersCount()); result.put(QueryResultItemFieldNames.USER_CREATED_AT, status.getUser().getCreatedAt()); result.put(QueryResultItemFieldNames.USER_FRIENDS_COUNT, status.getUser().getFriendsCount()); result.put(QueryResultItemFieldNames.USER_LISTED_COUNT, status.getUser().getListedCount()); result.put(QueryResultItemFieldNames.USER_STATUSES_COUNT, status.getUser().getStatusesCount()); result.put(QueryResultItemFieldNames.USER_FAVOURITES_COUNT, status.getUser().getFavouritesCount()); return result; }
From source file:com.raythos.sentilexo.twitter.domain.QueryResultItemMapper.java
License:Apache License
public static TwitterQueryResultItemAvro mapItem(String queryOwner, String queryName, String queryString, Status status) { TwitterQueryResultItemAvro result = new TwitterQueryResultItemAvro(); if (queryName != null) queryName = queryName.toLowerCase(); if (queryOwner != null) queryOwner = queryOwner.toLowerCase(); result.setQueryName(queryName);/*from ww w .j av a 2 s. c o m*/ result.setQueryOwner(queryOwner); result.setQuery(queryString); result.setStatusId(status.getId()); result.setText(status.getText()); result.setRelevantQueryTerms(TwitterUtils.relevantQueryTermsFromStatus(queryString, status)); result.setLang(status.getLang()); result.setCreatedAt(status.getCreatedAt().getTime()); User user = status.getUser(); result.setUserId(user.getId()); result.setScreenName(user.getScreenName()); result.setUserLocation(user.getLocation()); result.setUserName(user.getName()); result.setUserDescription(user.getDescription()); result.setUserIsProtected(user.isProtected()); result.setUserFollowersCount(user.getFollowersCount()); result.setUserCreatedAt(user.getCreatedAt().getTime()); result.setUserCreatedAtAsString(DateTimeUtils.getDateAsText(user.getCreatedAt())); result.setCreatedAtAsString(DateTimeUtils.getDateAsText(status.getCreatedAt())); result.setUserFriendsCount(user.getFriendsCount()); result.setUserListedCount(user.getListedCount()); result.setUserStatusesCount(user.getStatusesCount()); result.setUserFavoritesCount(user.getFavouritesCount()); result.setCurrentUserRetweetId(status.getCurrentUserRetweetId()); result.setInReplyToScreenName(status.getInReplyToScreenName()); result.setInReplyToStatusId(status.getInReplyToStatusId()); result.setInReplyToUserId(status.getInReplyToUserId()); if (status.getGeoLocation() != null) { result.setLatitude(status.getGeoLocation().getLatitude()); result.setLongitude(status.getGeoLocation().getLongitude()); } result.setSource(status.getSource()); result.setTrucated(status.isTruncated()); result.setPossiblySensitive(status.isPossiblySensitive()); result.setRetweet(status.getRetweetedStatus() != null); if (result.getRetweet()) { result.setRetweetStatusId(status.getRetweetedStatus().getId()); result.setRetweetedText(status.getRetweetedStatus().getText()); } result.setRetweeted(status.isRetweeted()); result.setRetweetCount(status.getRetweetCount()); result.setRetweetedByMe(status.isRetweetedByMe()); result.setFavoriteCount(status.getFavoriteCount()); result.setFavourited(status.isFavorited()); if (status.getPlace() != null) { result.setPlace(status.getPlace().getFullName()); } Scopes scopesObj = status.getScopes(); if (scopesObj != null) { List scopes = Arrays.asList(scopesObj.getPlaceIds()); result.setScopes(scopes); } return result; }
From source file:com.revolucion.secretwit.ui.timeline.TweetCellRenderer.java
License:Open Source License
private String parseSource(Status status) { if (status == null || status.getSource() == null) return ""; String source = status.getSource(); int startIndex = source.indexOf('>'); if (startIndex == -1) return source; int endIndex = source.indexOf('<', startIndex); if (endIndex == -1) return source; return source.substring(startIndex + 1, endIndex); }
From source file:crawler.DataStorage.java
License:Apache License
private static void sqlStore(Status status) throws SQLException { long sql_pid = Settings.pid; Settings.pid++;// w ww . j a v a2s . c om SimpleDateFormat tempDate = new SimpleDateFormat("yyyy-MM-dd, HH:mm:ss, z"); String sqlCreateAt = tempDate.format(new java.util.Date(status.getCreatedAt().getTime())); double sqlGeoLocationLat = 0; double sqlGeoLocationLong = 0; if (status.getGeoLocation() != null) { sqlGeoLocationLat = status.getGeoLocation().getLatitude(); sqlGeoLocationLong = status.getGeoLocation().getLongitude(); } String sqlPlace = (status.getPlace() != null ? status.getPlace().getFullName() : ""); long sqlId = status.getId(); String sqlTweet = status.getText().replace("'", "''"); String sqlSource = status.getSource().replace("'", "''"); sqlSource = sqlSource.replace("\\", "\\\\"); String sqlLang = status.getUser().getLang(); String sqlScreenName = status.getUser().getScreenName(); String sqlReplyTo = status.getInReplyToScreenName(); long sqlRtCount = status.getRetweetCount(); HashtagEntity[] hashs = status.getHashtagEntities(); String sqlHashtags = ""; for (HashtagEntity hash : hashs) sqlHashtags += hash.getText() + " "; pstm.setLong(1, sql_pid); pstm.setString(2, sqlCreateAt); pstm.setDouble(3, sqlGeoLocationLat); pstm.setDouble(4, sqlGeoLocationLong); pstm.setString(5, sqlPlace); pstm.setLong(6, sqlId); pstm.setString(7, sqlTweet); pstm.setString(8, sqlSource); pstm.setString(9, sqlLang); pstm.setString(10, sqlScreenName); pstm.setString(11, sqlReplyTo); pstm.setLong(12, sqlRtCount); pstm.setString(13, sqlHashtags); pstm.addBatch(); }
From source file:crawling.GetUserTimelineByFile.java
License:Apache License
public static void main(String[] args) { if (args.length < 1) { System.out.println("Usage: java twitter4j.examples.GetUserTimelineByFile UserFile"); System.exit(-1);//from w ww .ja v a 2s .com } userFile = args[0]; try { FileWriter outFileWhole = new FileWriter("CrawlTweets" + ".txt", true); out = new PrintWriter(outFileWhole); // out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } File inFile = new File(userFile); if (!inFile.isFile()) { System.out.println("Parameter is not an existing file"); return; } BufferedReader br = null; try { br = new BufferedReader(new FileReader(userFile)); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // gets Twitter instance with default credentials Twitter twitter = new TwitterFactory().getInstance(); int count = 0; int totalCount = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy, MM, dd"); Date start = null; try { start = sdf.parse("2000, 1, 1"); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } List<Status> statuses = null; // String user = "Porter_Anderson"; // user = "pqtad"; // user = "paradunaa6"; // user = "palifarous"; ArrayList<Long> users = new ArrayList<Long>(); String line = null; //Read from the original file and write to the new //unless content matches data to be removed. try { while ((line = br.readLine()) != null) users.add(Long.parseLong(line)); br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //users.add(584928891L); //users.add(700425265L); DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); System.out.println(); System.out.println("----------------------------------------------"); System.out.println("Start at: " + dateFormat.format(date)); Long sinceID = //218903304682471424L; // 2012/06/29 238893053518151680L; // 2012/08/24 Long maxID = 250409135600975873L; // 2012/09/24 //238893053518151680L; // 2012/08/24 // 227659323180974080L; // 2012/07/24 boolean overflow = false; for (Long usr : users) { System.out.println("%" + usr); out.println("%" + usr); out.println("%" + usr); Paging paging = null; count = 0; for (int i = 1; i < 21; i++) { //paging = new Paging(i, 200); paging = new Paging(i, 200, sinceID, maxID); overflow = false; try { // statuses = twitter.getUserTimeline(user, paging); statuses = twitter.getUserTimeline(usr, paging); Thread.currentThread(); try { Thread.sleep(10500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to get timeline: " + te.getMessage()); //System.exit(-1); } if (statuses.isEmpty()) { if (i > 16) overflow = true; break; } for (Status status : statuses) { String record = ""; record += status.getId(); record += "::" + status.getInReplyToStatusId(); record += "::" + status.getInReplyToUserId(); record += "::" + status.getRetweetCount(); if (status.getRetweetedStatus() != null) record += "::" + status.getRetweetedStatus().getId(); else record += "::" + "-1"; //record += "::" + status.isRetweet(); int len = status.getUserMentionEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { UserMentionEntity ent = status.getUserMentionEntities()[l]; record += "," + ent.getId(); } } else record += "::" + "-1"; len = status.getURLEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { URLEntity ent = status.getURLEntities()[l]; record += "," + ent.getURL() + "|" //+ ent.getDisplayURL() + "|" + ent.getExpandedURL(); } } else record += "::" + "-1"; record += "::" + cleanText(status.getText()); record += "::" + // status.getCreatedAt(); (status.getCreatedAt().getTime() - start.getTime()) / 1000; record += "::" + getSource(status.getSource()); //System.out.println(record); out.println(record); } count += statuses.size(); out.flush(); } totalCount += count; out.println("%" + usr + ", " + count + ", " + overflow); System.out.println("%" + usr + ", " + count + ", " + overflow); out.println("------------------------------------------"); } System.out.println("Total status count is " + totalCount); out.println("#" + totalCount); out.close(); date = new Date(); System.out.println(); System.out.println("----------------------------------------------"); System.out.println("End at: " + dateFormat.format(date)); }
From source file:crawling.GetUserTimelineByFileDiff.java
License:Apache License
public static void main(String[] args) { if (args.length < 1) { System.out.println("Usage: java twitter4j.examples.GetUserTimelineByFile UserFile"); System.exit(-1);//from w w w . j ava 2 s . c om } userFile = args[0]; try { FileWriter outFileWhole = new FileWriter("CrawlTweets" + ".txt", true); outWhole = new PrintWriter(outFileWhole); FileWriter outFileInter = new FileWriter("CrawlInter" + ".txt", true); outInter = new PrintWriter(outFileInter); // out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } File inFile = new File(userFile); if (!inFile.isFile()) { System.out.println("Parameter is not an existing file"); return; } BufferedReader br = null; try { br = new BufferedReader(new FileReader(userFile)); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // gets Twitter instance with default credentials Twitter twitter = new TwitterFactory().getInstance(); int count = 0; int countInter = 0; int totalCount = 0; int totalCountInter = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy, MM, dd"); Date start = null; try { start = sdf.parse("2000, 1, 1"); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } List<Status> statuses = null; // String user = "Porter_Anderson"; // user = "pqtad"; // user = "paradunaa6"; // user = "palifarous"; // statuses = twitter.getUserTimeline(user); //String usersS = "490495670,210462629,731570426,174646182,381163846,308812526,595154838,47356666,590795627,466854690,560386951,406747522,767819150,193105498,725874775,381257304,486727765,39469575,68239634,187739283,27048882,172979072,16075589,618047540,841958365,707631710,76274554,334451278,573978436,782711790,498017142,764236789,88185343,293950091,726606902,221410697,566098451,32987449,73497385,223182159,571182929,769441794,16225570,404748449,249953519,713693096,727692930,178473099,366957548,255171527,411892240,370333418,753509292,765928471,49389074,422867487,185298515,112841821,524731824,132207254,431289858,35602356,747638244,76398937,276388822,221106768,608597994,532423674,509070257,235773945,263995811,61575477,48606725,518136068,450781132,631504150,842236698,840479664,306291201,59829276,541212815,264436593,262466303,302157661,135587748,399229428,265344815,225280446,540254332,218019401,260453139,187424025,177051847,351065900,406684867,293234971,219356963,280763734,59290083,214750688"; //String[] splits = usersS.split(","); ArrayList<Long> users = new ArrayList<Long>(); String line = null; //Read from the original file and write to the new //unless content matches data to be removed. try { while ((line = br.readLine()) != null) { users.add(Long.parseLong(line)); } br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //users.add(584928891L); //users.add(700425265L); DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); System.out.println(); System.out.println("----------------------------------------------"); System.out.println("Start at: " + dateFormat.format(date)); Long sinceID = //218903304682471424L; // 2012/06/29 238893053518151680L; // 2012/08/24 Long maxID = 250409135600975873L; // 2012/09/24 //238893053518151680L; // 2012/08/24 // 227659323180974080L; // 2012/07/24 boolean overflow = false; for (Long usr : users) { System.out.println("%" + usr); outWhole.println("%" + usr); outInter.println("%" + usr); Paging paging = null; count = 0; countInter = 0; for (int i = 1; i < 21; i++) { //paging = new Paging(i, 200); paging = new Paging(i, 200, sinceID, maxID); overflow = false; try { // statuses = twitter.getUserTimeline(user, paging); statuses = twitter.getUserTimeline(usr, paging); Thread.currentThread(); try { Thread.sleep(10500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to get timeline: " + te.getMessage()); //System.exit(-1); } if (statuses.isEmpty()) { if (i > 16) overflow = true; break; } for (Status status : statuses) { boolean inter = false; //countRT += status.getRetweetCount(); String record = ""; String recordInter = ""; record += status.getId(); // For reply Long replyId = status.getInReplyToStatusId(); if (replyId == -1) record += "::-1::-1"; else { record += "::" + replyId; record += "::" + status.getInReplyToUserId(); inter = true; } // For retweeting Long retweets = (long) status.getRetweetCount(); record += "::" + retweets; if (retweets > 0) { inter = true; if (status.getRetweetedStatus() != null) record += "::" + status.getRetweetedStatus().getId(); else record += "::" + "-1"; // The source of retweeting } //record += "::" + status.isRetweet(); // For mentions int len = status.getUserMentionEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { UserMentionEntity ent = status.getUserMentionEntities()[l]; record += "," + ent.getId(); } inter = true; } else record += "::" + "-1"; recordInter += record; // For URL len = status.getURLEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { URLEntity ent = status.getURLEntities()[l]; record += "," + ent.getURL() + "|" //+ ent.getDisplayURL() + "|" + ent.getExpandedURL(); } } else record += "::" + "-1"; // For text record += "::" + cleanText(status.getText()); // For creating time // record += "::" + status.getCreatedAt().toString(); Long seconds = // status.getCreatedAt(); (status.getCreatedAt().getTime() - start.getTime()) / 1000; record += "::" + seconds; recordInter += "::" + seconds; // For publishing source record += "::" + getSource(status.getSource()); //System.out.println(record); outWhole.println(record); if (inter) { outInter.println(recordInter); countInter++; } } count += statuses.size(); outWhole.flush(); outInter.flush(); } totalCount += count; totalCountInter += countInter; outWhole.println("%" + usr + "," + count + "," + countInter + "," + overflow); outInter.println("%" + usr + "," + count + "," + countInter + "," + overflow); System.out.println("%" + usr + "," + count + "," + countInter + "," + overflow); outWhole.println("------------------------------------------"); outInter.println("------------------------------------------"); } System.out.println("Total status count is " + totalCount + "," + totalCountInter); outWhole.println("#" + totalCount + "," + totalCountInter); outInter.println("#" + totalCount + "," + totalCountInter); outWhole.close(); outInter.close(); date = new Date(); System.out.println(); System.out.println("----------------------------------------------"); System.out.println("End at: " + dateFormat.format(date)); }
From source file:crawling.GetUserTimelineMulti.java
License:Apache License
public void doCrawl() { List<Status> statuses = null; int count = 0; int userIndex = 0; int userTotal = users.size(); boolean overflow = false; for (Long usr : users) { //System.out.println("%" + usr); out.println("%" + usr); Paging paging = null;/*from www. j a v a 2s.c om*/ count = 0; //for (int i = 1; i < 21; i++) { for (int i = 1; i < 4; i++) { paging = new Paging(i, 200); //paging = new Paging(i, 200, sinceId, maxId); overflow = false; try { // statuses = twitter.getUserTimeline(user, paging); statuses = twitters.get(currentCrawl).getUserTimeline(usr, paging); currentCrawl++; if (currentCrawl == this.numCrawl) currentCrawl = 0; /*Thread.currentThread(); try { Thread.sleep(updateFreq); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to get timeline: " + te.getMessage()); //System.exit(-1); } if (statuses == null) { break; } if (statuses.isEmpty()) { if (i > 16) overflow = true; break; } for (Status status : statuses) { int len = status.getUserMentionEntities().length; /* * We only need the interactions */ if (len <= 0) continue; String record = ""; record += status.getId(); record += "::" + status.getInReplyToStatusId(); record += "::" + status.getInReplyToUserId(); record += "::" + status.getRetweetCount(); if (status.getRetweetedStatus() != null) record += "::" + status.getRetweetedStatus().getId(); else record += "::" + "-1"; //record += "::" + status.isRetweet(); //int len = status.getUserMentionEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { UserMentionEntity ent = status.getUserMentionEntities()[l]; record += "," + ent.getId(); } } else { record += "::" + "-1"; } len = status.getURLEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { URLEntity ent = status.getURLEntities()[l]; record += "," + ent.getURL() + "|" //+ ent.getDisplayURL() + "|" + ent.getExpandedURL(); } } else record += "::" + "-1"; //record += "::" + cleanText(status.getText()); // We just ignore the text content in this crawling record += "::-1"; record += "::" + // status.getCreatedAt(); (status.getCreatedAt().getTime() - start.getTime()) / 1000; record += "::" + getSource(status.getSource()); // Geo Location if (status.getGeoLocation() != null) record += "::" + status.getGeoLocation(); else record += "::" + "-1"; //System.out.println(record); out.println(record); count++; } //count += statuses.size(); } out.flush(); totalCount += count; out.println("%" + usr + ", " + count + ", " + overflow); outUserId.println(usr + "," + count); //System.out.println("%" + usr + ", " + count + ", " + overflow); System.out.println(userIndex + "/" + userTotal + ", " + count); //+ ", " + (overflow ? "overflow" : "not overflow")); userIndex++; out.println("------------------------------------------"); } System.out.println("Total status count is " + totalCount); outUserId.println("#" + totalCount); this.closeFile(); }
From source file:crawling.SearchTweetsHashtag.java
License:Apache License
private static void storeATweet(Status status) { int len = status.getUserMentionEntities().length; /*// w w w .j a v a 2s.c o m * We only need the interactions */ if (len <= 0) return; String record = ""; record += status.getId(); record += "::" + status.getInReplyToStatusId(); record += "::" + status.getInReplyToUserId(); record += "::" + status.getRetweetCount(); if (status.getRetweetedStatus() != null) record += "::" + status.getRetweetedStatus().getId(); else record += "::" + "-1"; //record += "::" + status.isRetweet(); //int len = status.getUserMentionEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { UserMentionEntity ent = status.getUserMentionEntities()[l]; record += "," + ent.getId(); } } else { record += "::" + "-1"; } len = status.getURLEntities().length; if (len > 0) { record += "::"; for (int l = 0; l < len; l++) { URLEntity ent = status.getURLEntities()[l]; record += "," + ent.getURL() + "|" //+ ent.getDisplayURL() + "|" + ent.getExpandedURL(); } } else record += "::" + "-1"; record += "::" + cleanText(status.getText()); // We just ignore the text content in this crawling //record += "::-1"; record += "::" + // status.getCreatedAt(); (status.getCreatedAt().getTime() - start.getTime()) / 1000; record += "::" + getSource(status.getSource()); // Geo Location if (status.getGeoLocation() != null) record += "::" + status.getGeoLocation(); else record += "::" + "-1"; record += "::" + status.getUser().getId() + "::" + status.getUser().getScreenName() + "::" + status.getUser().getName() + "::" + status.getCreatedAt(); //System.out.println(record); out.println(record); out.flush(); count++; }
From source file:de.jetwick.tw.TwitterSearch.java
License:Apache License
public static Twitter4JTweet toTweet(Status st, User user) { if (user == null) throw new IllegalArgumentException("User mustn't be null!"); if (st == null) throw new IllegalArgumentException("Status mustn't be null!"); Twitter4JTweet tw = new Twitter4JTweet(st.getId(), st.getText(), user.getScreenName()); tw.setCreatedAt(st.getCreatedAt());// ww w. java2 s . c o m tw.setFromUser(user.getScreenName()); if (user.getProfileImageURL() != null) tw.setProfileImageUrl(user.getProfileImageURL().toString()); tw.setSource(st.getSource()); tw.setToUser(st.getInReplyToUserId(), st.getInReplyToScreenName()); tw.setInReplyToStatusId(st.getInReplyToStatusId()); if (st.getGeoLocation() != null) { tw.setGeoLocation(st.getGeoLocation()); tw.setLocation(st.getGeoLocation().getLatitude() + ", " + st.getGeoLocation().getLongitude()); } else if (st.getPlace() != null) tw.setLocation(st.getPlace().getCountryCode()); else if (user.getLocation() != null) tw.setLocation(toStandardLocation(user.getLocation())); return tw; }