0
我正在使用Tweepy
來實現一個Twitter機器人的趣味目的。如何閱讀Twitter的Streaming API並根據某個關鍵字回覆用戶?
我想要編碼的是一個跟蹤特定關鍵字並基於它的機器人回覆用給定字符串發送推文的用戶。
我曾考慮將Twitter的流存儲在.json
文件中,併爲每個用戶循環播放Tweet對象,但接收流鎖定循環中的程序似乎不切實際。
那麼,我怎麼能跟蹤基於某個關鍵字的Twitter Stream API的推文,並回復推文推文的用戶呢?
當前代碼:
from tweepy import OAuthHandler
from tweepy import Stream
from tweepy.streaming import StreamListener
class MyListener(StreamListener):
def on_data(self, data):
try:
with open("caguei.json", 'a+') as f:
f.write(data)
data = f.readline()
tweet = json.loads(data)
text = str("@%s acabou de. %s " % (tweet['user']['screen_name'], random.choice(exp)))
tweepy.API.update_status(status=text, in_reply_to_status_id=tweet['user']['id'])
#time.sleep(300)
return True
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
def on_error(self, status):
print(status)
return True
api = tweepy.API(auth)
twitter_stream = Stream(auth, MyListener())
twitter_stream.filter(track=['dengue']) #Executing it the program locks on a loop
不能你只需做,在你的* on_data *功能* myListener的*? – SpiXel
@SpiXel不確定如何正確使用API。我在API的 – ovrwngtvity
@SpiXel上沒有太多經驗哦,我想我已經明白了。 on_data方法在接收Twitter流時運行。我以爲這只是一個隨機的名字。我想我可以完成我的目標。 – ovrwngtvity