#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
. Вы можете ознакомиться с документацией для этого здесь — Объект пользователя