我有一个脚本,它使用来自 twitter 的流 api 的推文到我的本地主机 mongodb 中。为了提高正常运行时间,我想远程运行它,将推文存储在“类似云的数据库”中,例如 MongoLab。
这是我的脚本:
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'])
现在,我已经在 MongoLab 和 Heroku 上设置了帐户,但完全被卡住了(我对所有编程都是新手)。我想,向前推进,我需要解决两个问题:i)如何使用 Heroku 托管我的脚本?ii) 如何将在 Heroku 中运行的脚本指向我的 Mongolab 帐户?有什么想法吗?