sql >> Database >  >> NoSQL >> MongoDB

Hoe kan ik tweets van de streaming-api van Twitter consumeren en opslaan in mongodb

Hier is een voorbeeld:

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'])

Dit zal tweets schrijven naar de mongodb test database, tweets collectie.

Ik hoop dat dat helpt.



  1. Onverwachte Mongo-exitcode 100. Opnieuw opstarten

  2. Mongoose:wat zijn de verschillen tussen Model.create en Collection.insert

  3. Latentie begrijpen met Redis-Cli

  4. Ember-gegevens hiërarchie op meerdere niveaus met ingesloten altijd