Extracts tweets from a specific twitter use

匆匆过客 提交于 2019-12-13 09:34:59

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!