Tại sao tôi gặp phải lỗi này? và đây là cách tôi gọi API truyền trực tuyến.Twitter Truyền trực tuyến trên GAE
import tweepy
import sys
creds = json.loads(open('credential.json').read())
tw_consumer_key = creds['tw_consumer_key']
tw_consumer_secret = creds['tw_consumer_secret']
tw_access_token = creds['tw_access_token']
tw_access_token_secret = creds['tw_access_token_secret']
try:
auth = tweepy.OAuthHandler(tw_consumer_key, tw_consumer_secret)
auth.set_access_token(tw_access_token, tw_access_token_secret)
api = tweepy.API(auth)
except Exception:
service = None
api = None
# Query terms
Q = "Better"
class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
try:
print "%s\n%s\n%s\n%s\n\n" % (status.text,
status.author.screen_name,
status.created_at,
status.source,)
except Exception, e:
print >> sys.stderr, 'Encountered Exception:', e
pass
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
class LiveStream(webapp2.RequestHandler):
def get(self):
streaming_api = tweepy.streaming.Stream(auth, CustomStreamListener(), timeout=60)
self.response.out.write(streaming_api.filter(track=Q))
Có thể do GAE không cho phép ổ cắm, tôi không chắc chắn cách áp dụng cụm từ truy vấn để nhận các tweet được lọc cụ thể. Mục đích của tôi với phần mã này là nhận luồng trực tiếp với các từ khóa được chỉ định. Nếu có bất kỳ phương pháp thay thế, xin vui lòng hướng dẫn.
Một số người cho biết Google không cho phép chúng tôi sử dụng ổ cắm trong GAE, có bất kỳ phương pháp thay thế nào với ví dụ hay không, vui lòng hướng dẫn. Cảm ơn – 1myb