【发布时间】:2016-03-11 07:06:37
【问题描述】:
我正在尝试阅读 Twitter 上以下关键字的推文(骑自行车、跑步、体育运动),并且还想获取发送推文的人的 用户名。我已经搜索了网络,但还没有想出一个似乎有效的答案。我不认为我完全明白我在寻找什么?任何帮助将不胜感激,到目前为止我的代码如下......
谢谢
import tweepy
from time import sleep
import sys
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)
CONSUMER_KEY = 'xxxx'
CONSUMER_SECRET = 'xxxx'
ACCESS_KEY = 'xxxx'
ACCESS_SECRET = 'xxxx'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
auth.secure = True
api = tweepy.API(auth)
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
if 'cycling' in status.text.lower():
print('BIKE!')
print(status.text.translate(non_bmp_map))
elif 'running' in status.text.lower():
print('RUN!')
print(status.text.translate(non_bmp_map))
else:
print('SPORTS SUCK!')
print(status.text.translate(non_bmp_map))
myStreamListener = MyStreamListener
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener())
myStream.filter(track=['cycling', 'running', 'sports suck'])
我已添加此代码...(带有# 的行)。它不断出现错误消息:TypeError: 'type' object is not iterable 有什么想法吗?
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
for tweet in tweepy.Cursor: #I'VE ADDED THIS LINE
if 'cycling' in status.text.lower():
print('BIKE!')
print(status.text.translate(non_bmp_map))
print(tweet.user.screen_name) #I'VE ADDED THIS LINE
elif 'running' in status.text.lower():
print('RUN!')
print(status.text.translate(non_bmp_map))
【问题讨论】:
标签: python-3.x twitter tweepy