几秒后,Tweepy流光停止

时间:2016-07-18 20:14:55

标签: python twitter tweepy

嗨!

我遇到一些关于Python的tweepy库的问题。我第一次启动下面的脚本,一切都完美有效,第二次......脚本意外停止。

我没有发现任何有关此行为的信息,监听器在几秒钟后停止,我没有任何错误代码或其他内容。

有简单的代码:

import tweepy
import sys
import json
from textwrap import TextWrapper
from datetime import datetime
from elasticsearch import Elasticsearch

consumer_key = "hidden"
consumer_secret = "hidden"
access_token = "hidden"
access_token_secret = "hidden"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
ES_HOST = {"host" : "localhost", "port" : 9200}

es = Elasticsearch(hosts = [ES_HOST])

class StreamListener(tweepy.StreamListener):
        print('Starting StreamListener')
        status_wrapper = TextWrapper(width=60, initial_indent='    ', subsequent_indent='    ')

        def on_status(self, status):
                try:
                        print 'n%s %s' % (status.author.screen_name, status.created_at)
                        json_data = status._json
                        #print json_data['text']

                        es.create(index="idx_twp",
                                doc_type="twitter_twp_nintendo",
                                body=json_data
                                )

                except Exception, e:
                        print e
                        pass

print('Starting Receiving')

streamer = tweepy.Stream(auth=auth, listener=StreamListener(), timeout=3000000000)

#Fill with your own Keywords bellow
terms = ['nintendo']

streamer.filter(None,terms)
#streamer.userstream(None)

print ('Ending program')

然后有输出(只有2秒);

[root@localhost ~]# python projects/m/twitter/twitter_logs.py
Starting StreamListener
Starting Receiving
Ending program

我正在使用Python 2.7.5

关于?

的任何想法

1 个答案:

答案 0 :(得分:0)

嗨!

我通过virtualenv将我的Python版本更改为3.5,从而解决了这个奇怪的问题。目前,它运作良好。

这可能是由于python版本,无论如何有人有这个,我只是建议使用virtualenv测试另一个Python版本,看看会发生什么。

仅供参考:我已经在github项目中打开了问题#759