Tweepy: Твиттер с ошибкой: код состояния = 500
В настоящее время я пытаюсь получить все твиты данного хэштега, используя твипистый курсор. Чтобы добиться этого, я создал нижеприведенную функцию, которая принимает в качестве аргумента конкретный хэш-тег и записывает в CSV-файл метку времени хэш-тега и количество подписчиков пользователя. Для некоторых хэштегов это работает нормально, и я получил нужные мне результаты (хэштеги в течение 7 дней - 168 ч), например, для #promotion. Для некоторых других казни прекращаются примерно через 6 часов, сообщая об ошибке ниже, например #WorldEmojiDay или #marketing. Я уже понял, что означает ошибка, и я не могу понять, как с ней справиться... Любая помощь будет принята с благодарностью.
Код процедуры:
def hashtag_collect(hashtag_name):
consumer_key='xxx'
consumer_secret='xxx'
access_token='xxx'
access_token_secret='xxx'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True,wait_on_rate_limit_notify=True)
# Open/Create a file to append data
csvFile = open('data_collect.csv', 'a')
time_followers = open(('collect_17-07/time_and_followers_%s.csv' % hashtag_name), 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)
csvWriter_data= csv.writer(time_followers)
csvWriter_data.writerow(['timestamps','followers'])
print(hashtag_name)
dates=['2018-07-12','2018-07-13','2018-07-14','2018-07-15','2018-07-16','2018-07-17','2018-07-18','2018-07-19']
#print(hashtag_name)
for i in range(0,len(dates),1):
print(i,dates[i])
for tweet in tweepy.Cursor(api.search,q=hashtag_name,count=200,since="2018-07-09", lang='en').items(): #nb: date au format Year-month-day
#print(i, dates[i])
csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8'),tweet.user.followers_count, time.mktime(time.strptime(str(tweet.created_at),"%Y-%m-%d %H:%M:%S"))]) #write date, tweet, nb of followers, timestamp
csvWriter_data.writerow([time.mktime(time.strptime(str(tweet.created_at),"%Y-%m-%d %H:%M:%S")),tweet.user.followers_count])
Ошибка вернулась:
Traceback (most recent call last):
File "collect.py", line 59, in <module>
hashtag_collect(tag)
File "collect.py", line 33, in hashtag_collect
for tweet in tweepy.Cursor(api.search,q=hashtag_name,count=200,since="2018-07-09", lang='en').items(): #nb: date au format Year-month-day
File "/usr/local/lib/python3.6/dist-packages/tweepy/cursor.py", line 49, in __next__
return self.next()
File "/usr/local/lib/python3.6/dist-packages/tweepy/cursor.py", line 197, in next
self.current_page = self.page_iterator.next()
File "/usr/local/lib/python3.6/dist-packages/tweepy/cursor.py", line 108, in next
data = self.method(max_id=self.max_id, parser=RawParser(), *self.args, **self.kargs)
File "/usr/local/lib/python3.6/dist-packages/tweepy/binder.py", line 250, in _call
return method.execute()
File "/usr/local/lib/python3.6/dist-packages/tweepy/binder.py", line 234, in execute
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: Twitter error response: status code = 500
1 ответ
Это внутренняя проблема службы для https://developer.twitter.com/en/docs/basics/response-codes.html
Не так много, что вы можете сделать, попробуйте позже.