У меня есть скрипт на python, который транслирует твиты в файл csv. Я предоставил параметр времени выполнения 46800 секунд, который равен 13 часам, это определяет, как долго твиты должны быть переданы в этот CSV. До вчерашнего дня он работал нормально в течение указанного периода времени, но вчера сценарий работал только в течение 7,5 часов и впоследствии прекратил потоковую передачу. Я считаю, что не было твита о теме, которую я транслировал в течение определенного периода времени, и, следовательно, произошло отключение. Таким образом, даже если, когда люди начали твитить на обсуждаемую тему на более позднем этапе, соединение не было восстановлено, и, следовательно, скрипт не передавал эти твиты в файл csv. Итак, мне пришлось перезапустить скрипт в другом экземпляре и позволить скрипту транслировать твиты в другой CSV-файл. Сегодня также я столкнулся с подобной проблемой, поток был отключен после работы в течение 6 часов, и поэтому мне пришлось перезапустить снова.
Но я не уверен, так ли это было. Ниже приведен скрипт, который я использовал, пожалуйста, сообщите, что могло произойти. И если так, то как мне этого избежать?
runtime = 46800
class listener(StreamListener):
def on_data(self,data):
data1 = json.loads(data)
time = data1["created_at"]
tweet1 = BeautifulSoup(tweet, "lxml").get_text()
url = "https://twitter.com/{}/status/{}".format(data1["user"]["screen_name"], data1["id_str"])
file = open('MARCH_DATA.csv', 'a')
csv_writer = csv.writer(file)
csv_writer.writerow([time, tweet1, url])
file.close()
auth = OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_token_secret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["MTA"], async = True)
time.sleep(runtime)
twitterStream.disconnect()
Спасибо