0
我想过滤Twitter的实时鸣叫,我有这个列表关键字= [“亚历克斯”,“爱”,“讨厌”,“饥饿” ,“开心”]我想获得具有“亚历克斯”的推文并且至少有一个来自给定列表的关键字。我的代码在运行时处于低位,它跟踪包含列表中任何单词的推文。再次记住,我希望“亚历克斯”作为主要跟踪关键词,推文应该有“亚历克斯”,并且至少应该包括“爱”,“讨厌”,“饥饿”,“快乐”等单词中的一个。获取鸣叫,在Python中有一个特定的关键字和其他可选的关键字
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import json
# consumer key, consumer secret, access token, access secret.
ckey = "xxxxxxxxxxxxxxx"
csecret = "xxxxxxxxxxxxxxxxxx"
atoken = "xxxxxxxxxxxxxxxxxx"
asecret = "xxxxxxxxxxxxxxxxxxx"
class listener(StreamListener):
def on_data(self, data):
all_data = json.loads(data)
tweet = all_data["text"]
username = all_data["user"]["screen_name"]
out = open('out1.txt', 'a')
out.write(tweet.encode('utf-8'))
out.write('\n')
out.close()
print username, " :: ", tweet
return True
def on_error(self, status):
print status
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
keywords = ["Alex", "love","hate","hungry","happy"]
twitterStream = Stream(auth, listener())
twitterStream.filter(track=keywords, languages=["en"])