我想连接Python anywhere上的Twitter流API,但总是收到拒绝连接错误。
我在我的应用程序中使用Tweepy,为了测试连接,我正在使用可以在该存储库中找到的流示例。
以下是代码摘要:
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'])
当我在bash控制台中运行这条命令时(在填写了令牌之后),它是在PythonAnywhere上运行的。
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 的白名单上,但我不明白为什么连接会被拒绝 :s。
同样的代码在我的 Ubuntu 上运行得非常好。
任何想法都将不胜感激,谢谢!!