【问题标题】:Twitter mining using streaming API, python使用流式 API、python 进行 Twitter 挖掘
【发布时间】:2017-04-07 04:26:14
【问题描述】:

我想用关键字抓取推文数据:“王牌”、“克林顿”。我通常使用 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 的代码:

【问题讨论】:

  • 糟糕,您的秘密代码在屏幕截图上。您需要重新生成身份验证密钥,以免成为垃圾邮件机器人。
  • 感谢您的评论。我编辑了屏幕截图并重新生成了我的密钥。

标签: python api twitter data-mining keyword-search


【解决方案1】:

您需要将api 对象传递给流对象。换行试试:

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

到

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

【讨论】:

    猜你喜欢
    • 2016-06-26
    • 2018-10-23
    • 1970-01-01
    • 2020-06-20
    • 2014-07-01
    • 1970-01-01
    • 2013-06-14
    • 2015-08-04
    • 2015-05-15
    相关资源
    最近更新 更多