package twitter;
import java.util.List;
import twitter4j.FilterQuery;
import twitter4j.StallWarning;
import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.StatusListener;
import twitter4j.TwitterStream;
import twitter4j.TwitterStreamFactory;
public class Crawler {
private static TwitterStream twitterStream;
private static List<String> wordsToSearch = Util.getWordsSet();
static {
twitterStream = new TwitterStreamFactory(Util.conf).getInstance();
}
private static boolean filter(String text) {
for (String word:wordsToSearch) {
if (text.toLowerCase().contains(word.toLowerCase())) {
return true;
}
}
return false;
}
public static void liveStreamer() {
FilterQuery filter = new FilterQuery();
String tracks[] = {"S�o Paulo", "SaoPaulo"};
StatusListener listener = new StatusListener() {
@Override
public void onStatus(Status status) {
System.out.println("@" + status.getUser().getScreenName() + " - " + status.getText());
}
@Override
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
//System.out.println("Got a status deletion notice id:" + statusDeletionNotice.getStatusId());
}
@Override
public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
//System.out.println("Got track limitation notice:" + numberOfLimitedStatuses);
}
@Override
public void onScrubGeo(long userId, long upToStatusId) {
//System.out.println("Got scrub_geo event userId:" + userId + " upToStatusId:" + upToStatusId);
}
@Override
public void onStallWarning(StallWarning warning) {
System.out.println("Got stall warning:" + warning);
}
@Override
public void onException(Exception ex) {
ex.printStackTrace();
}
};
twitterStream.addListener(listener);
twitterStream.filter(new FilterQuery());
twitterStream.sample();
}
}