[英]Twitter4j tweets trimmed
使用Twitter4j庫,我試圖基於從另一個文本文件中獲取的關鍵字來搜索tweet,並將這些tweet下載到新的文本文件中。 問題在於,在特定數量的字符之后,將修剪推文。 有沒有辦法使用Twitter4j獲取完整的推文? 如果沒有,是否可以使用另一個庫呢? 這是我的代碼:
public class TweetsCollection {
private static long sleepTime = 15*60*1000;
/**
* @param args
* @throws IOException
* @throws TwitterException
* @throws InterruptedException
*/
public static void main(String[] args) throws IOException, TwitterException, InterruptedException {
//key 1
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true).setOAuthConsumerKey("4ccwVAaTWOpgq4sBlEdMchwZj").setOAuthConsumerSecret("wxwwiB2KzycrVwW2VBuiJfSQnZ8c40M8l1gyrsFwtOHLVjzayW").setOAuthAccessToken("4040566239-2pCR8GkvtGsrOnpUYOizm5Jeei9y3mTWU3ncV0q").setOAuthAccessTokenSecret("jv1OBHBGAn6DxmONH75Z7iIlhdTcQcrHAfgGvpPi5QtVQ");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter t = tf.getInstance();
//key 2
ConfigurationBuilder cb2 = new ConfigurationBuilder();
cb2.setDebugEnabled(true).setOAuthConsumerKey("mDEaFgTxIn0KrEWeJIv2e4liU").setOAuthConsumerSecret("CrAXR7XhEgOwIWBBt0zprTb6LU0GLPwOgVKzFGIKsPm3ZgdVZq").setOAuthAccessToken("4040566239-J0n5HAkxU2bqiX9Vg3zEFRkRUcXzxjAsLd0qy3V").setOAuthAccessTokenSecret("XhIv3MY679WwVPIE9S6dIG75uydwokbLJgOko2Xz6xq6B");
TwitterFactory tf2 = new TwitterFactory(cb2.build());
Twitter t2 = tf2.getInstance();
//key 3
ConfigurationBuilder cb3 = new ConfigurationBuilder();
cb3.setDebugEnabled(true).setOAuthConsumerKey("Q4dkKHY9A9V2y5be9A29RCpiv").setOAuthConsumerSecret("Zb6eRY7c3hduxi4K3nT4h29RzIgXJkZV4ucZhXZP5qvQtj5z7b").setOAuthAccessToken("4040566239-CN2BDnQ2cqHixd8njqxIDfjbq7JaEtzLLJMvLgp").setOAuthAccessTokenSecret("4fpoZ83Ncg2l9LSQ1RGTi5hRpBUtk1GkjdRMgwF0wH9c7");
TwitterFactory tf3 = new TwitterFactory(cb3.build());
Twitter t3 = tf3.getInstance();
//key 4
ConfigurationBuilder cb4 = new ConfigurationBuilder();
cb4.setDebugEnabled(true).setOAuthConsumerKey("GRbm01er8V2AJX2buzr5SJ7we").setOAuthConsumerSecret("CheABRf2r5GJoa49wIuKNOn7e46JpupZLMQ9CdhTiseK3dSAlH").setOAuthAccessToken("4040566239-DKJKl7cD0ClYxS3ZItwIXfh3BCqStvD5fUuUcnI").setOAuthAccessTokenSecret("OVEoN49qHQWLcmCNk4KfBxNdYTx2D1qT2mxAM3JUEMtry");
TwitterFactory tf4 = new TwitterFactory(cb4.build());
Twitter t4 = tf4.getInstance();
// TODO Auto-generated method stub
BufferedReader bf = new BufferedReader(new FileReader("/home/george/Desktop/trends.txt"));
String trendName = "";
while ((trendName = bf.readLine())!=null){
Query topicQuery1 = new Query(trendName);
Query topicQuery2 = new Query(trendName);
Query topicQuery3 = new Query(trendName);
Query topicQuery4 = new Query(trendName);
BufferedWriter bw = new BufferedWriter(new FileWriter("/home/george/Desktop/tweets/"+trendName+".txt",true));
QueryResult queryResult1 = t.search(topicQuery1);
QueryResult queryResult2 = t2.search(topicQuery2);
QueryResult queryResult3 = t3.search(topicQuery3);
QueryResult queryResult4 = t4.search(topicQuery4);
for (Status aStatus : queryResult1.getTweets()){
bw.write(aStatus.getText()+"\n\n");
}
for (Status aStatus : queryResult2.getTweets()){
bw.write(aStatus.getText()+"\n\n");
}
for (Status aStatus : queryResult3.getTweets()){
bw.write(aStatus.getText()+"\n\n");
}
for (Status aStatus : queryResult4.getTweets()){
bw.write(aStatus.getText()+"\n\n");
}
bw.close();
Thread.sleep(sleepTime);
}
bf.close();
}
}
要獲取該tweet的全文,請添加參數tweet_mode,並將其值擴展到您的請求參數。
twitter4j.conf.ConfigurationBuilder()
.setOAuthConsumerKey(""))
.setOAuthConsumerSecret("")
.setOAuthAccessToken("")
.setOAuthAccessTokenSecret("")
.setTweetModeExtended(true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.