作为研究项目的一部分,我有一个脚本,它将Twitter上的推文用于本地托管的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=['snowden'])
为了提高正常运行时间,我想做两件事:i)远程运行此脚本,以及ii)将消费的推文存储在云端。然而,对于所有编程工作都是全新的,我对于实现目标应该做些什么感到迷茫。我接下来的步骤是什么?正常运行时间的“阻力最小的路径”是什么?
答案 0 :(得分:2)
Heroku是一个支持Python和MongoDB的云平台,我建议你使用它。 This link提供了有关如何执行此操作的工作参考。
以下是另外两个可以帮助您的链接:
1)Python database WITHOUT using Django (for Heroku)
2)How can I use the mongolab add-on to Heroku from python?
希望这有帮助!