Python 推特流时间线

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

**** 我正在尝试从特定用户的 Twitter 时间轴获取信息,并且正在尝试以 Json 格式打印输出,但是我收到了一个 AttributeError: 'str' object has no attribute '_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)

最佳答案

您似乎将 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]

而且,正如评论中所提到的,您不应该公开分发您的 key 。 Twitter 允许您重置它们,我建议您尽快这样做 - 仅仅编辑您的帖子是不够的,因为人们仍然可以阅读您的编辑历史。

关于Python 推特流时间线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41983890/

相关文章:

php - Twitter 时间戳越界?

javascript - Zapier 代码 (JS) + Twitter API - 发布收藏夹/创建

python - 高性能适用于 group by pandas

json - 如何使用从 Swift 3 中的 slider 选择的 JSON 数据更新 tableviewcell?

python - 将对象重写为json

java - Jackson:InvalidFormatException:无法从字符串值构造 java.util.Date 的实例

php - 在 $_POST 变量中设置值以通过 Codeigniter 验证

ssl - oauth_signature 不是在重新发明 SSL 轮子吗?

python - 如何按数字从高到低排序

Python:如何访问调用模块中的变量?