python - 如何在我的 twitter 机器人中正确实现 StreamListener?(呸呸呸)
问题描述
根据tweepy 网站上的文档。我需要使用这 3 个步骤:
第 1 步:创建 StreamListener
#override tweepy.StreamListener to add logic to on_status class MyStreamListener(tweepy.StreamListener): def on_status(self, status): print(status.text)
第 2 步:创建流
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
第 3 步:启动流
myStream.filter(track=['python'])
这是我的机器人的代码示例:它的功能是,搜索查询,转发,喜欢,回复。
import tweepy
import time
consumer_key =
consumer_secret =
key =
secret =
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)
api = tweepy.API(auth, wait_on_rate_limit=True)
tweetNumber = 20
seen = set()
q = "MY SEARCH"
def crashBot():
for tweet in reversed(tweets):
try:
if tweet.id in seen:
print("Skipping", tweet.id, "because we already replied to it")
continue
if q in tweet.full_text.lower():
seen.add(tweet.id)
print(str(tweet.id) + '-' + tweet.full_text)
api.update_status("@" + tweet.user.screen_name + " MY REPLY!", tweet.id)
api.retweet(tweet.id)
print("done!")
time.sleep(30)
except tweepy.tweepyError as e:
print(e.reason)
time.sleep(30)
while True:
tweets = list(tweepy.Cursor(api.search, q, tweet_mode='extended').items(tweetNumber))
crashBot()
time.sleep(30)
我还没有找到一个很好的例子来说明如何用 StreamListener 代替“tweepy.Cursor”和“api.search”的使用。
我也无法启动流。如何在我的 twitter 机器人中正确实现 StreamListener?
解决方案
推荐阅读
- android - 改造自定义 HTML 响应正文解析
- javascript - 存在值时,Ionic 无法读取 null 的属性“xxx”
- boost-tuples - 从 boost::tuples::tuple 中检索字符串
- c# - 如何使用 jQuery 的 ajax 方法调用局部视图
- java - 使用不同键的多个 Multipart 静态调用
- jena - 如何加载从 protege 推断的公理并使用 OWL api 过滤它们
- python - 如何修复“Gitlab windows ci 运行器:ObjectNotFound: (pip:String) [], CommandNotFoundException”
- php - Woocommerce 自定义店铺页面布局
- r - 绘制与时间的关系图并使用另一个变量为图着色
- spring-cloud - 无法在rabbitmq上发布消息以使用带有spring cloud的路由密钥直接交换