我正在尝试在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'])
我已添加此代码...(带有#in的行)。它不断出现错误消息: TypeError:'type'对象不可迭代任何想法?
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))
答案 0 :(得分:2)
您一定要查看允许接收发送的推文和发件人用户名的this Python API。我没有使用python的经验,我让它的工作非常快速和简单。
所有有用的源代码&让它工作的方式是在git页面上: - )