Tweepy stream.filter() 连接一直超时,但 stream.sample() 工作正常
Tweepy stream.filter() connection keeps timing out but stream.sample() works just fine
所以我正在尝试使用 Tweepy 4.3.0 版流式传输一些数据。我也尝试过使用 4.2.0 和 < 4.0.0,大约 90 秒后返回相同的消息:
"Stream connection has errored or timed out"
消息返回后连接未终止
我的代码是:
import tweepy
auth = tweepy.OAuthHandler(credentials.API_KEY, credentials.API_SECRET_KEY)
auth.set_access_token(credentials.ACCESS_TOKEN, credentials.ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
print(api.verify_credentials().screen_name)
class IDPrinter(tweepy.Stream):
def on_status(self, status):
print(status.id)
printer = IDPrinter(credentials.API_KEY,
credentials.API_SECRET_KEY,
credentials.ACCESS_TOKEN,
credentials.ACCESS_TOKEN_SECRET)
printer.filter(track=["Tesla"])
和官方一样Tweepy documentation。
但是,如果不是:
printer.filter(track=["Tesla"])
我使用:
printer.sample()
然后正在按预期流式传输数据。
我还尝试了一堆关键字,包括“I”、“the”、“”等,其中none个都没有结果。
此外,sample() 方法运行良好这一事实告诉我我的凭据是有效的。我已经阅读了几次文档,因此非常感谢任何帮助!
编辑:我也尝试过低音量轨道关键字,但我仍然遇到问题。
EDIT2:这是我工作场所的公司防火墙引起的连接问题。
默认情况下,Tweepy 会在遇到连接错误时记录此信息。
您可以使用 Stream.on_connection_error
.
覆盖它
连接没有终止,因为 Tweepy 自动处理连接错误并尝试重新连接。
流断开连接的可能原因有很多。
请参阅 Twitter API documentation on connecting to a streaming endpoint 的断开连接部分。
由于这些关键字的访问量非常大,因此您可能在流中落后太多。
所以我正在尝试使用 Tweepy 4.3.0 版流式传输一些数据。我也尝试过使用 4.2.0 和 < 4.0.0,大约 90 秒后返回相同的消息:
"Stream connection has errored or timed out"
消息返回后连接未终止
我的代码是:
import tweepy
auth = tweepy.OAuthHandler(credentials.API_KEY, credentials.API_SECRET_KEY)
auth.set_access_token(credentials.ACCESS_TOKEN, credentials.ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
print(api.verify_credentials().screen_name)
class IDPrinter(tweepy.Stream):
def on_status(self, status):
print(status.id)
printer = IDPrinter(credentials.API_KEY,
credentials.API_SECRET_KEY,
credentials.ACCESS_TOKEN,
credentials.ACCESS_TOKEN_SECRET)
printer.filter(track=["Tesla"])
和官方一样Tweepy documentation。
但是,如果不是:
printer.filter(track=["Tesla"])
我使用:
printer.sample()
然后正在按预期流式传输数据。 我还尝试了一堆关键字,包括“I”、“the”、“”等,其中none个都没有结果。
此外,sample() 方法运行良好这一事实告诉我我的凭据是有效的。我已经阅读了几次文档,因此非常感谢任何帮助!
编辑:我也尝试过低音量轨道关键字,但我仍然遇到问题。
EDIT2:这是我工作场所的公司防火墙引起的连接问题。
默认情况下,Tweepy 会在遇到连接错误时记录此信息。
您可以使用 Stream.on_connection_error
.
连接没有终止,因为 Tweepy 自动处理连接错误并尝试重新连接。
流断开连接的可能原因有很多。
请参阅 Twitter API documentation on connecting to a streaming endpoint 的断开连接部分。
由于这些关键字的访问量非常大,因此您可能在流中落后太多。