Twitter4j getUserTimeline使用

来源:互联网 发布:林建岳王祖贤 知乎 编辑:程序博客网 时间:2024/04/28 05:50
package Twitter;import twitter4j.*;import twitter4j.Twitter;import twitter4j.conf.ConfigurationBuilder; import twitter4j.json.DataObjectFactory;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBObject;import com.mongodb.Mongo;import java.util.Iterator;import java.util.List;import java.util.ArrayList;import com.mongodb.util.JSON;/** * <p>This is a code example of Twitter4J Streaming API - sample method support.<br> * Usage: java twitter4j.examples.PrintSampleStream<br> * </p> * * @author Yusuke Yamamoto - yusuke at mac.com */public final class TwitterRest {    /**     * Main entry of this application.     *     * @param args     */public DBCollection collection;public Mongo mongo;public int count = 1;public void LinkMongodb() throws Exception {/* * Link Mongodb  * build a data named FourS2 * build a collection named Foursquare *   */mongo = new Mongo("localhost", 27017);    DB db = mongo.getDB("TwitterMe");    collection = db.getCollection("DreamD");    System.out.println("Link Mongodb!");}    public static void main(String[] args) throws TwitterException {        final TwitterRest pr = new TwitterRest();        try {    pr.LinkMongodb();    }  catch (Exception e) {e.printStackTrace();}          ConfigurationBuilder cb = new ConfigurationBuilder();     cb.setDebugEnabled(true)       .setOAuthConsumerKey("7ZVgfKiOvBDcDFpytRWSA")       .setOAuthConsumerSecret("JmeJVeym78arzmGthrDUshQyhkq6nWA9tWLUKxc")       .setOAuthAccessToken("321341780-Zy7LptVYBZBVvAeQ5GFJ4aKFw8sdqhWBnvA3pDuO")       .setOAuthAccessTokenSecret("foi8FnQCeN0J5cdwad05Q6d7dbytFayQn1ZOvmhF6Qc");     cb.setJSONStoreEnabled(true);          //TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());     TwitterFactory tf = new TwitterFactory(cb.build());     //TwitterStream twitterStream = tf.getInstance();     Twitter twitter = tf.getInstance();     Paging paging = new Paging(15, 200);     List<Status> statuses = twitter.getUserTimeline("BarackObama", paging);          Iterator it=statuses.iterator();        while(it.hasNext())        {          Status value=(Status)it.next();          String str = DataObjectFactory.getRawJSON(value);          try {          DBObject dbObject =(DBObject)JSON.parse(str);          pr.collection.save(dbObject);          } catch (Exception e) {  e.printStackTrace();  }           System.out.println(str);        }          pr.mongo.close();         }   }


Twitter现在又限制了,只能拿到200个左右的tweets。

如果要全部的,大家可以参考之前的selenium的方法去网页是自己抓。

会很麻烦,不过是有效的。

原创粉丝点击