3

どこでも 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では、まったく同じコードが魅力のように機能します。

どんなアイデアでも大歓迎です、ありがとう!!

4

2 に答える 2

6

無料アカウントを使用している場合、tweepy は機能しません。環境からのプロキシ設定は使用しません。

メインラインがプロキシ設定を正しく使用するまで、tweepy のフォーク (http://github.com/ducu/tweepy) を使用できる可能性があります。

于 2013-01-20T18:44:14.507 に答える
2

Glenn が言ったように、現在 tweepy にはプロキシ サポートがありません。

説明できない (そして文書化されていない) 理由により、約 1 か月前にプル リクエストがマージされずにクローズされました。

https://github.com/tweepy/tweepy/pull/152

どうやらgithubで利用可能なフォークがあります(Glennの回答を参照)が、私はそれをテストしませんでした.

最終的には自分のドメイン名を使用する必要があることを知っていたので、ようやく pythonanywhere で有料アカウントを取得し、プロキシ関連のものをまとめて削除しました。

于 2013-01-20T20:44:05.873 に答える