どこでも Python で Twitter ストリーミング API に接続しようとしていますが、常に接続拒否エラーが発生します。
私は自分のアプリケーションでTweepyを使用しており、接続をテストするために、リポジトリにあるストリーミングの例を使用しています。
HEre はコードの要約です:
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
# Go to http://dev.twitter.com and create an app.
# The consumer key and secret will be generated for you after
consumer_key=""
consumer_secret=""
# After the step above, you will be redirected to your app's page.
# Create an access token under the the "Your access token" section
access_token=""
access_token_secret=""
class StdOutListener(StreamListener):
""" A listener handles tweets are the received from the stream.
This is a basic listener that just prints received tweets to stdout.
"""
def on_data(self, data):
print data
return True
def on_error(self, status):
print status
if __name__ == '__main__':
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
stream.filter(track=['basketball'])
この行をPythonのbashコンソールでどこでも実行すると(もちろんトークンを入力した後)
12:02 ~/tweepy/examples (master)$ python streaming.py
次のエラーが表示されます。
Traceback (most recent call last):
File "streaming.py", line 33, in <module>
stream.filter(track=['basketball'])
File "/usr/local/lib/python2.7/site-packages/tweepy/streaming.py", line 228, in filter
self._start(async)
File "/usr/local/lib/python2.7/site-packages/tweepy/streaming.py", line 172, in _start
self._run()
File "/usr/local/lib/python2.7/site-packages/tweepy/streaming.py", line 106, in _run
conn.connect()
File "/usr/local/lib/python2.7/httplib.py", line 1157, in connect
self.timeout, self.source_address)
File "/usr/local/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 111] Connection refused
ただし、ドメイン .twitter.com は pythonanywhere whithelist に含まれているため、接続が拒否される理由がわかりません:s。
私のUbuntuでは、まったく同じコードが魅力のように機能します。
どんなアイデアでも大歓迎です、ありがとう!!