Twython Не фиксирует ошибки - PullRequest
       6

Twython Не фиксирует ошибки

0 голосов
/ 09 ноября 2018

Я использую Twython для захвата потока твитов от группы пользователей. Я работал в течение часа или около того довольно хорошо (всего несколько твитов), а затем рухнул с ошибкой HTTP IncompleteRead. Я видел это в нескольких постах, но так и не решил.

Есть ли способ зафиксировать эту ошибку, чтобы она не приводила к сбою программы?

 File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\response.py", line 
331, in _error_catcher
   yield
  File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\response.py", 
line 640, in read_chunked
    chunk = self._handle_chunk(amt)
  File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\response.py", 
line 586, in _handle_chunk
    value = self._fp._safe_read(amt)
  File "C:\ProgramData\Anaconda3\lib\http\client.py", line 612, in 
_safe_read
raise IncompleteRead(b''.join(s), amt)
http.client.IncompleteRead: IncompleteRead(0 bytes read, 1 more expected)

Мой код прост, и я не вижу других возможностей для отлова этих ошибок.

from twython import TwythonStreamer

CONSUMER_KEY    = '...'
CONSUMER_SECRET = '...'

# Access:
ACCESS_TOKEN  = '...'
ACCESS_SECRET = '....'

class MyStreamer(TwythonStreamer):

    def on_success(self, data):
        if 'text' in data:
            if not data['text'].startswith('RT') and not 
            data['text'].startswith('@'):
                print(data['text'])

    def on_error(self, status_code, data):
        print(status_code)
        self.disconnect()

stream = MyStreamer(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, 
ACCESS_SECRET)

# follow is watching for tweets from a user or list of users

users = [25073877, 19905457,1058764970010308611,251918778]

stream.statuses.filter(follow=users, language = 'en') 
...