Python Twitter流媒体时间轴

时间:2017-02-01 15:45:07

标签: python json twitter-oauth tweepy twitter-streaming-api

****我试图从特定用户的Twitter时间轴获取信息,我试图以Json格式打印输出,但是我得到一个 AttributeError:'str'对象没有属性'_json'即可。我是python的新手,所以我遇到了解决这个问题的麻烦所以任何帮助都会非常感激。 ****

下面显示了我目前的代码:

from __future__ import absolute_import, print_function

import tweepy
import twitter

def oauth_login():
    # credentials for OAuth
    CONSUMER_KEY = 'woIIbsmhE0LJhGjn7GyeSkeDiU'
    CONSUMER_SECRET = 'H2xSc6E3sGqiHhbNJjZCig5KFYj0UaLy22M6WjhM5gwth7HsWmi'
    OAUTH_TOKEN = '306848945-Kmh3xZDbfhMc7wMHgnBmuRLtmMzs6RN7d62o3x6i8'
    OAUTH_TOKEN_SECRET = 'qpaqkvXQtfrqPkJKnBf09b48TkuTufLwTV02vyTW1kFGunu'

    # Creating the authentication
    auth = twitter.oauth.OAuth( OAUTH_TOKEN,
                                OAUTH_TOKEN_SECRET,
                                CONSUMER_KEY,
                                CONSUMER_SECRET )
    # Twitter instance
    twitter_api = twitter.Twitter(auth=auth)
    return twitter_api

# LogIn
twitter_api = oauth_login()
# Get statuses
statuses = twitter_api.statuses.user_timeline(screen_name='@ladygaga')
# Print text 

for status in statuses:
    print (status['text']._json)

1 个答案:

答案 0 :(得分:1)

您似乎将tweepytwitter混在一起,因此可能会对方法产生一些混淆。您的代码中tweepy的身份验证过程应如下所示:

import tweepy

def oauth_login():
    # credentials for OAuth
    consumer_key = 'YOUR_KEY'
    consumer_secret = 'YOUR_KEY'
    access_token = 'YOUR_KEY'
    access_token_secret = 'YOUR_KEY'

    # Creating the authentication
    auth = tweepy.OAuthHandler(consumer_key,
                               consumer_secret)
    # Twitter instance
    auth.set_access_token(access_token, access_token_secret)
    return tweepy.API(auth)

# LogIn
twitter_api = oauth_login()
# Get statuses
statuses = twitter_api.user_timeline(screen_name='@ladygaga')

# Print text
for status in statuses:
    print (status._json['text'])

如前所述,如果要创建推文列表,则可以执行以下操作,而不是# Print text之后的所有内容

# Create a list
statuses_list = [status._json['text'] for status in statuses]

而且,正如评论中所提到的,你不应该公开发布你的密钥。 Twitter可以让你重置它们,我建议你尽快 - 编辑你的帖子还不够,因为人们仍然可以阅读你的编辑历史。