python mongodb twitter pymongo tweepy

python - ¿Cómo puedo consumir tweets de la API de transmisión de Twitter y almacenarlos en mongodb?



pymongo tweepy (2)

Necesito desarrollar una aplicación que me permita realizar un seguimiento de los tweets y guardarlos en un mongodb para un proyecto de investigación (como podría saber, soy un novato, así que por favor, tengan paciencia conmigo). He encontrado este fragmento de código que envía tweets a través de mi ventana de terminal:

import sys 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 on_status(self, status): print status.text def on_error(self, status_code): print >> sys.stderr, ''Encountered error with status code:'', status_code return True # Don''t kill the stream def on_timeout(self): print >> sys.stderr, ''Timeout...'' return True # Don''t kill the stream sapi = tweepy.streaming.Stream(auth, CustomStreamListener()) sapi.filter(track=[''Gandolfini''])

¿Hay alguna manera de modificar este fragmento de código para que, en lugar de tener tweets transmitidos por mi pantalla, se envíen a mi base de datos mongodb?

Gracias


Aquí hay un ejemplo:

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

Esto escribirá tweets en la base de datos de test mongodb, colección de tweets .

Espero que ayude.