我不确定为什么以下代码不会返回任何结果。如果我放streamer.statuses.filter(track = 'data')
,那么它会输出推文。但是,如果我将join
与OR
一起使用,则它不起作用,但我使用'data'
作为选项之一。最后,如果我使用track=keywords
,它就不起作用。
from twython import TwythonStreamer
from collections import Counter
tweets = []
class TweetStreamer(TwythonStreamer):
def on_success(self, data):
if 'text' in data:
tweets.append(data['text'].encode('utf-8'))
print data['text'].encode('utf-8')
if len(tweets)>10:
self.disconnect()
def on_error(self, status_code, data):
print status_code
self.disconnect()
CONSUMER_KEY = "..."
CONSUMER_SECRET = "..."
ACCESS_TOKEN = "..."
ACCESS_TOKEN_SECRET = "..."
streamer = TweetStreamer(CONSUMER_KEY, CONSUMER_SECRET,
ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
keywords = ['data','information']
track = " OR ".join(keywords)
streamer.statuses.filter(track = track)
答案 0 :(得分:0)
您必须以正确的方式使用Twitter API。
来自doc:
Hoover Data
== "data information"
" ".join(['data', 'information'])
== "data,information"