Twython未捕获错误

时间:2018-11-09 19:51:05

标签: python twitter twython

我正在使用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') 

0 个答案:

没有答案