我是python的新手所以无法用早期的帖子弄明白。我使用下面的代码示例来摄取twitter流,当我不在代理后面这工作正常,但当我落后于代理这不起作用。如果有人可以指导我如何在此代码中绕过代理
,那将会很有帮助tp = TwitterHandler()
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = tweepy.Stream(auth, tp)
stream.filter(track=FILTER_WORDS_LIST)
答案 0 :(得分:1)
我正在通过此链接开始使用tweepy - http://adilmoujahid.com/posts/2014/07/twitter-analytics/
我也遇到了代理问题。这就是我解决问题的方法 -
在Windows终端类型
中set http_proxy=http://username:password@host:port
set https_proxy=https://username:password@host:port
然后运行上面链接中给出的文件 -
python twitter_streaming.py
设置全局代理环境变量是关键
我希望它有所帮助
答案 1 :(得分:1)
这就是我在代理后面运行tweepy所做的:
import tweepy
class ProxyStream(tweepy.Stream):
def new_session(self):
super().new_session() # PY2: super(ProxyStream, self).new_session()
self.session.proxies = {
'https': 'http://proxy1:3128',
'http': 'http://proxy1:3128'
}
现在,使用ProxyStream
代替tweepy.Stream
可以解决问题:
auth = tweepy.OAuthHandler('TWITTER_CONSUMER_KEY', 'TWITTER_CONSUMER_SECRET')
auth.set_access_token('TWITTER_ACCESS_TOKEN', 'TWITTER_ACCESS_TOKEN_SECRET')
stream = ProxyStream(auth, self, async=True)
设置HTTPS_PROXY
变量应该有效,但在某些情况下,我们需要针对外部资源的特定配置,例如twitter。
答案 2 :(得分:1)
您可以在代码中进行设置:
res.data