代码之家  ›  专栏  ›  技术社区  ›  Clauric

AttributeError:使用Tweepy和Twitter API

  •  0
  • Clauric  · 技术社区  · 5 年前

    我试图使用Tweepy从Twitter的API中提取信息。90%的代码工作正常,但当我试图从每条推文中获取关注者数量时,我遇到了一个错误。

    我使用的代码是:

    # Running only on handle returns a dataframe 
    tweets = api.user_timeline(user_id=user_id, count=number_tweets, tweet_mode="extended")
    print("Number of tweets extracted: {}.\n".format(len(tweets)))
    data = pd.DataFrame(data=[tweet.full_text for tweet in tweets], columns= ["Text"])
    data["Tweet length"] = np.array([len(tweet.full_text) for tweet in tweets])
    data["Tweet ID"] = np.array([tweet.id for tweet in tweets])
    data["Tweet Date"] = np.array([tweet.created_at for tweet in tweets])
    data["Tweet source"] = np.array([tweet.source for tweet in tweets])
    data["Tweet likes"] = np.array([tweet.favorite_count for tweet in tweets])
    data["Tweet retweets"] = np.array([tweet.retweet_count for tweet in tweets])
    # Line to be added here #
    data = data.sort_values(by="Tweet Date", ascending = False)
    

    当我在下面一行加上:

    data["User followers"] = np.array([tweet.followers_count for tweet in tweets])
    

    错误消息是:

    AttributeError:“Status”对象没有“followers\u count”属性

    0 回复  |  直到 5 年前
        1
  •  1
  •   AzyCrw4282 Santosh Birje    5 年前

    第一个代码段中的代码引用了 Tweet Object ,也就是说,它们都引用了一条推文的实例,您可以通过使用这些属性获取值。通过属性的名称可以看到这一点。

    关于第二个片段

    数据[“用户关注者”]=np。数组([tweet.followers_count for tweets in tweets])

    这不是一个推文对象,而是一个 User Object .所以你所指的字典( tweets )将不具有名称为的属性 followers_count . 你可以从照片上看到 documentation here 那个 Tweet object 不含任何 追随者人数 属性

    为了解决这个问题,您需要提出请求以获取 用户对象 .你可以在这里看到相关文件- User object