sql >> データベース >  >> NoSQL >> MongoDB

TwitterのストリーミングAPIからツイートを消費してmongodbに保存するにはどうすればよいですか?

    次に例を示します:

    import json
    import pymongo
    import tweepy
    
    consumer_key = ""
    consumer_secret = ""
    access_key = ""
    access_secret = ""
    
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_key, access_secret)
    api = tweepy.API(auth)
    
    
    class CustomStreamListener(tweepy.StreamListener):
        def __init__(self, api):
            self.api = api
            super(tweepy.StreamListener, self).__init__()
    
            self.db = pymongo.MongoClient().test
    
        def on_data(self, tweet):
            self.db.tweets.insert(json.loads(tweet))
    
        def on_error(self, status_code):
            return True # Don't kill the stream
    
        def on_timeout(self):
            return True # Don't kill the stream
    
    
    sapi = tweepy.streaming.Stream(auth, CustomStreamListener(api))
    sapi.filter(track=['Gandolfini'])
    

    これにより、mongodb testにツイートが書き込まれます データベース、tweets コレクション。

    お役に立てば幸いです。



    1. クラスターフェイルオーバー

    2. Redisデータ構造の概要:ビットマップ

    3. AzureでのMongoDBホスティングを改善するための5つのヒント

    4. MongoDBへのメルトダウンパフォーマンスの影響:AWS、Azure、DigitalOcean