问题
I want to extracts tweets from a specific user using scala. My code is given below:
import twitter4j._
import twitter4j.Status
import collection.JavaConversions._
import org.apache.spark.streaming.twitter._
import org.apache.spark.SparkConf
import org.apache.spark._
val CONSUMER_KEY = "hidden"
val CONSUMER_SECRET = "hidden"
val ACCESS_TOKEN = "hidden"
val ACCESS_TOKEN_SECRET = "hidden"
System.setProperty("twitter4j.oauth.consumerKey", CONSUMER_KEY)
System.setProperty("twitter4j.oauth.consumerSecret", CONSUMER_SECRET)
System.setProperty("twitter4j.oauth.accessToken", ACCESS_TOKEN)
System.setProperty("twitter4j.oauth.accessTokenSecret", ACCESS_TOKEN_SECRET)
val twitter = new TwitterFactory().getInstance
val statuses = twitter.search(new Query("aTwitterUser")).getTweets
statuses.foreach(status => println(status.getText + "\n"))
By using the above code I am able to get all tweets in with specified user is mentioned plus tweets of user. That did not resolve my problem. I only want to print tweets made by user. Any help will be appreciated.
Regards!
回答1:
See point 4 on http://twitter4j.org/en/code-examples.html
Use the 'source:' query
java code:
// The factory instance is re-useable and thread safe.
Twitter twitter = TwitterFactory.getSingleton();
Query query = new Query("source:twitter4j yusukey");
QueryResult result = twitter.search(query);
for (Status status : result.getTweets()) {
System.out.println("@" + status.getUser().getScreenName() + ":" + status.getText());
}
more query operators on: https://dev.twitter.com/rest/public/search
special attention to 'from:' operator:
Query query = new Query("from:twitter4j yusukey");
来源:https://stackoverflow.com/questions/43986927/extracts-tweets-from-a-specific-twitter-use