我有一個腳本,消耗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帳戶?有什麼想法嗎?