1

我想用关键字抓取推文数据:“王牌”、“克林顿”。我通常使用 Jupyter Notebook 来使用 Python3。以下是我的代码,当我运行单元格时它会停止。

我在代码之间插入了一些其他代码以获取错误,但也不起作用..

def limit_handled(cursor):
    while True:
        try:
            yield cursor.next()
        except tweepy.RateLimitError:
            time.sleep(15 * 60)

以下是代码。

import tweepy

# OAuth setup
consumer_key = '000000000'
consumer_secret = '000000000'
access_token = '0000000000'
access_secret = '000000000'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)  

class MyListener(tweepy.StreamListener):

    def on_data(self, data):
        try:
            with open('tweet_stream.json', 'a') as file:
                file.write(data)
                print(data)
                return True
        except BaseException as e:
            print("Error on_data: {}".format(str(e)))
        return True


twitter_stream = tweepy.Stream(auth, MyListener())
twitter_stream.filter(track=['trump', 'clinton'])

使用 Jupyter Notebook 的代码:

4

1 回答 1

0

您需要将api对象传递到流对象中。尝试换行:

twitter_stream = tweepy.Stream(auth, MyListener())

twitter_stream = tweepy.Stream(api, MyListener())

于 2017-05-28T16:01:06.593 回答