在方法内部访问信息,对象不可下标

时间:2020-09-30 08:18:11

标签: python oop 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)

出: <状态的绑定方法Status.favorite(_api = ,_json = {'created_at':'Tue Sep 29 18:31:23 +0000 2020','id':1311010700437880838,' id_str':'1311010700437880838','text':'@DenverWater可能只是说了“不是我们的错”?','被截断的':False,'实体':{'hashtags':[],'symbols':[], 'user_mentions':[{'screen_name':'DenverWater','name':'Denver Water?','id':18999734,'id_str':'18999734','indices:[0,12]}], 'urls':[]},'元数据':{'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_id':'160au'',''60'640 ,:'640',640 ','name':'YUNG POLY','screen_name':'killauea',...

我想知道如何在此方法中访问信息,例如“名称”(粗体) 试图像字典或属性一样访问它们,但是我得到了object is not subscriotable error

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

是否有可能访问此信息?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为不存在favorite.name属性。

如果存在,则必须像在Dict中一样访问tweet属性:

  • 鸣叫文字:
    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'])