Я делаю простое приложение, чтобы транслировать публичную временную шкалу твиттера, и я хочу, чтобы потоковая передача автоматически прекращалась через час, и я понятия не имею, как это сделать. Я читал datetime и timeit docs, но не могу их понять. Вот мой код, и это потоковое время, которое я хочу прекрасно, но бесконечно.Как получить функцию выхода через 1 час в Python
from twython import TwythonStreamer
import json
import os
import datetime
from datetime import *
APP_KEY = 'XX'
APP_SECRET = 'XX'
OAUTH_TOKEN = 'XX'
OAUTH_TOKEN_SECRET = 'XX'
class MyStreamer(TwythonStreamer):
def on_success(self, data):
print data['text']
with open('scratch1.json', 'ab') as outfile:
json.dump(data, outfile, indent = 4)
with open('scratch2.json', 'ab') as xoutfile:
json.dump(data, xoutfile, indent = 4)
return
def on_error(self, status_code, data):
print status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
stream = MyStreamer(APP_KEY, APP_SECRET,
OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
stream.statuses.filter(follow = [95995660, 8820362])
Может ли кто-нибудь мне помочь?
Спасибо, работает отлично. –
Я не могу воспроизвести этот код. Я получаю сообщение об ошибке: «TypeError: __init __() принимает 1 позиционный аргумент, но 5 дано». Больше нет потока.statuses, но есть один для stream.on_success. Если я добавлю app_key, app_secret, oauth_token и oauth_token_secret, я потеряю возможность иметь stream.statuses. – ZacharyST
Похоже, что восходящая библиотека 'twython' изменилась с момента первоначального ответа в январе 2014 года: https://github.com/ryanmcgrath/twython/blob/master/twython/streaming/api.py#L22 – pztrick