Ошибка атрибута: использование Tweepy и Twitter API

#python #twitter #tweepy

#python #Twitter #tweepy

Вопрос:

Я пытаюсь извлечь информацию из API Twitter с помощью Tweepy. 90% кода работает нормально, но когда я пытаюсь получить followers_count из каждого твита, я сталкиваюсь с ошибкой.

Код, который я использую, является:

 # 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])
 

Сообщение об ошибке:

Ошибка атрибута: объект ‘Status’ не имеет атрибута ‘followers_count’

Ответ №1:

Ваш код в первом фрагменте ссылается на Tweet Object , то есть все они ссылаются на экземпляр твита, значения которого вы сможете получить с помощью атрибутов. Вы можете увидеть это по названию атрибутов.

Во втором фрагменте

данные [«Подписчики пользователей»] = np.array([tweet.количество подписчиков для твита в твитах])

Это не объект Tweet, а вместо User Object этого . Поэтому словарь, на который вы ссылаетесь ( tweets ) , не будет иметь атрибутов с именем followers_count . Вы можете видеть из документации здесь, которая Tweet object не содержит никакого followers_count атрибута.

Чтобы решить эту проблему, вам нужно сделать запрос, чтобы получить User Object . Вы можете ознакомиться с документацией для этого здесь — Объект пользователя