【发布时间】:2015-08-23 15:40:00
【问题描述】:
class listener(StreamListener):
def on_status(self, status):
try:
userid = status.user.id_str
geo = str(status.coordinates)
if geo != "None":
print(userid + ',' + geo)
else:
print("No coordinates")
return True
except BaseException as e:
print('failed on_status,',str(e))
time.sleep(5)
def on_error(self, status):
print(status)
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(locations=[-97.54,32.55,-97.03,33.04])
我的 tweepy 流有这个脚本,它运行良好。但是,它会一直运行,直到我使用 'ctrl+c' 终止它。我尝试向“on_status”添加一个计数器,但它不会增加:
class listener(StreamListener):
def on_status(self, status):
i = 0
while i < 10:
userid = status.user.id_str
geo = str(status.coordinates)
if geo != "None":
print(userid + ',' + geo)
i += 1
无论我把增量放在哪里,它都会重复。如果我在课程前添加“i=0”,我会收到错误:
RuntimeError: No active exception to reraise
知道如何使计数器与流媒体一起使用吗?至少据我所知,tweepy 附带的光标不适用于流式传输。
【问题讨论】:
标签: python python-3.x twitter tweepy twitter-streaming-api