python - 有没有办法只在特定时间使用 python 流式传输推文?
问题描述
我正在使用 tweepy 来传输推文。
据我所知,我们可以启动流媒体并让它无限期地运行以处理推文。
我正在寻找一种方法来限制此流并在我们可以指定的大约 10 分钟后退出流媒体。
从文档中,我找不到任何可以这样做的东西。(我可能也错过了。)
如何指定流媒体可以继续收听推文的时间量。
import json
from tweepy import StreamListener, OAuthHandler, Stream
class StdOutListener(StreamListener):
def __init__(self):
self.hashtag_frequency = {}
def on_data(self, data):
hashtags = json.loads(data)["entities"]["hashtags"]
for hashtag in hashtags:
text = hashtag["text"]
self.hashtag_frequency[text] = self.hashtag_frequency.get(text, 1) + 1
print(self.hashtag_frequency)
return True
def on_error(self, status):
print(status)
listener = StdOutListener()
auth = OAuthHandler('', '')
auth.set_access_token('', '')
stream = Stream(auth, listener)
stream.filter(track=['testing'])
解决方案
你可以在那里添加一个计时器,就像break
在它的末尾添加一个
import time
t = #Add number of seconds you want the bot to run, if you want 10 minutes, than it's 600 seconds
if t != 0:
mins, secs = divmod(t, 60)
timer = '{:02d}:{:02d}'.format(mins, secs)
print(timer, end="\r")
t -= 1
else:
return
推荐阅读
- c# - 无法使用 .pfx 文件从具有 .netcore 的 flex 实例连接到 Google-Cloud mysql 实例
- javascript - 如何将卡片列表中的一张卡片中的数据传递给对话框?
- javascript - 是否可以使用 gulp 将变量传递给 mocha
- html - 缩放背景
- javascript - 糟糕的 Javascript 编码和下拉框
- ios - 需要在 iOS 中从 web 应用动态应用程序图标
- java - 如何为 dynamodb 中涉及多个表的事务设计存储?
- mysql - 通过 OpenSSL 的 MySQL TLS 验证失败
- c++ - 街头骰子模拟 - 看起来像代码偏差?
- matlab - “输入参数过多”是什么意思?