Я плохо разбираюсь в Python, пожалуйста, помогите мне. Я не могу загрузить твиты, которые создает CSV-файл, но он пуст. Я не могу получить данные твитов на него! Вывод показывает, что твиты загружаются, но данные, я думаю, не принимают строковый формат! Пожалуйста, помогите!
import tweepy
import csv
def get_all_tweets(screen_name):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
alltweets = []
new_tweets = api.user_timeline(screen_name = screen_name,count=200)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
while len(new_tweets) > 0:
print ("getting tweets before %s" % (oldest))
new_tweets = api.user_timeline(screen_name = screen_name,count=200,max_id=oldest)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
print ("...%s tweets downloaded so far" % (len(alltweets)))
outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8"),tweet.retweet_count,tweet.favorite_count] for tweet in alltweets]
with open('%s_tweets.csv' % screen_name, 'wb') as f:
writer = csv.writer(f)
writer.writerow(["id", "created_at", "text", "retweet_count", "favorite_count"])
writer.writerows(outtweets)
pass
if __name__ == '__main__':
get_all_tweets("Iamrajakaditya")
Ошибка, которую я получаю в приведенном выше коде:
writer.writerow(["id","created_at","text","retweet_count","favorite_count"])
TypeError: требуется байтовый объект, а не 'str'
Включите в свой вопрос сообщение об ошибке complete.
Вы хотите преобразовать
str
вbytes
?Кроме того, оператор
pass
ровно ничего не делает. Тебе это не нужно.Возможный обман.
@ user202729 да!