【问题标题】:Accessing information inside methods, Object is not subscriptable访问方法内部的信息,对象不可下标
【发布时间】:2020-09-30 08:18:11
【问题描述】:

我正在尝试从 tweepy 光标对象(包含 twitter 数据)中提取一些信息。 该对象包含一堆方法和属性,我在下面列出了一些方法和属性, 文本(属性),转推(属性),收藏(方法)......等等。我想知道如何访问方法中的信息。 例如

#  I have created a class which authenticates and connects to te API, stream_live_tweets method returns iterable object. 
inst = GetTweets()
twObj = inst.stream_live_tweets(keyword = 'Killauea', num_tweets= 1)
for tweet in twObj:
    print(tweet.favorite)

出来: , _json={'created_at': 'Tue Sep 29 18:31:23 +0000 2020', 'id': 1311010700437880838, ' id_str': '1311010700437880838', 'text': '@DenverWater 可能只是说“不是我们的错”????', 'truncated': False, 'entities': {'hashtags': [], 'symbols': [], 'user_mentions': [{'screen_name': 'DenverWater', 'name': 'Denver Water ????', 'id': 18999734, 'id_str': '18999734', 'indices': [0 , 12]}], 'urls': []}, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'source': 'Twitter for iPhone', 'in_reply_to_status_id': 1310998430940979200, 'in_reply_to_status_id_str': '1310998430940979200', 'in_reply_to_user_id': 1601204640, 'in_reply_to_user_id_str': '1601204640', 'in_reply_to_screen_name': 'killauea', 'user': {'id': 1601204640, 'id_str': '1601204640', 'name': 'YUNG POLY', 'screen_name': 'killauea', ...

我想知道如何访问此方法中的信息,例如“名称”(粗体) 尝试访问它们类似于字典或属性,但我得到一个 object is not subscriotable error

  tweet.favorite['metadata']
  tweet.favorite.name

如果可以访问此信息,有什么想法吗?

谢谢

【问题讨论】:

  • 尝试dir(ttweet) 查看属性。我想是tweet._json。使用some_data = json.loads(tweet._json)反序列化json数据。

标签: python oop tweepy


【解决方案1】:

我认为没有 favorite.name 属性。

如果有,您必须像在字典中一样访问推文属性:

  • 推文文本:
    tweet['text']

  • 进行操作的用户的名称(推文、转推、 等):
    tweet['user']['screen_name']

  • 如果存在:
    tweet['favorite']['name']

如果无法访问推文,可以使用 json 模块将其转换为 Dict:

import json

for tweet in twObj:
   dict_tweet = json.loads(tweet)

现在您可以访问推文的不同属性:

print(dict_tweet['favorited'])
print(dict_tweet['id'])

【讨论】:

    猜你喜欢
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2019-09-18
    相关资源
    最近更新 更多